Skip to content

Schema Changes - 2025-12-13

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 432f19ea..28f26af1 100644
--- a/schema/Api/CustomerBroker/CreateCustomerRequest.json
+++ b/schema/Api/CustomerBroker/CreateCustomerRequest.json
@@ -6,7 +6,7 @@
   "properties": {
     "defaultWarehouseId": { "description": "Optional. Warehouse identifier.", "type": ["string", "null"] },
     "id": {
-      "description": "Required. Unique customer identifier. Must not be empty. Must exist for update. Cannot be the same as parent.id.",
+      "description": "Required. Unique customer identifier. Must not be empty. Cannot be the same as parent.id.",
       "type": "string",
       "minLength": 1
     },
@@ -14,17 +14,18 @@
       "description": "Optional. XML sender identifier.",
       "type": ["string", "null"]
     },
-    "billToCodeRequiredOnOrder": {
-      "description": "Required. Indicates whether BillTo code is required on order placement.",
-      "type": "boolean"
-    },
     "billingEntities": {
-      "type": ["array", "null"],
+      "description": "Billing entities. At least one is required.",
+      "type": "array",
       "items": {
         "type": "object",
         "additionalProperties": false,
         "properties": {
-          "id": {"description": "Required. Billing entity identifier.", "type": "string"},
+          "id": {
+            "description": "Required. Billing entity identifier. Must not be empty.",
+            "type": "string",
+            "minLength": 1
+          },
           "xmlSenderId": { "description": "Optional. XmlSenderId override.", "type": ["string", "null"] },
           "addresses": {
             "description": "Required. Child addresses. Must be an empty array [] for create operations (business rule override).",
@@ -46,36 +47,50 @@
           }
         },
         "required": ["id", "isDefaultForCustomer", "addresses"]
-      }
+      },
+      "minItems": 1
+    },
+    "brokerScopes": {
+      "description": "Optional. Broker scopes.",
+      "type": ["array", "null"],
+      "items": {"type": "string"}
     },
-    "brokerScopes": { "type": "array", "items": {"type": "string"} },
     "contactAddress": {
+      "description": "Optional. Contact address.",
       "type": ["object", "null"],
       "additionalProperties": false,
       "properties": {
         "address1": {
           "description": "Required if contactAddress is present. Address line 1. Must not be empty.",
-          "type": "string"
+          "type": "string",
+          "minLength": 1
         },
         "address2": { "description": "Optional. Address line 2.", "type": ["string", "null"] },
         "address3": { "description": "Optional. Address line 3.", "type": ["string", "null"] },
         "city": {
           "description": "Required if contactAddress is present. City. Must not be empty.",
-          "type": "string"
+          "type": "string",
+          "minLength": 1
         },
         "company": { "description": "Optional. Company name.", "type": ["string", "null"] },
         "country": {
           "description": "Required if contactAddress is present. Country. Must not be empty.",
-          "type": "string"
+          "type": "string",
+          "minLength": 1
         },
         "faxNumber": { "description": "Optional. Fax number.", "type": ["string", "null"] },
         "name": { "description": "Optional. Contact name.", "type": ["string", "null"] },
         "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
         "postalCode": {
           "description": "Required if contactAddress is present. Postal code. Must not be empty.",
-          "type": "string"
+          "type": "string",
+          "minLength": 1
         },
-        "stateProvince": {"description": "Required. State or province.", "type": "string"}
+        "stateProvince": {
+          "description": "Required if contactAddress is present. State or province. Must not be empty.",
+          "type": "string",
+          "minLength": 1
+        }
       },
       "required": ["address1", "city", "country", "postalCode", "stateProvince"]
     },
@@ -85,9 +100,10 @@
       "format": "email"
     },
     "createDateTimeUtc": {
-      "description": "Optional. Creation date/time in UTC. Must not be in the future if provided.",
+      "description": "Optional. Creation date/time in UTC.",
       "type": ["string", "null"]
     },
+    "directMailProvider": { "description": "Optional. Direct mail provider.", "type": ["string", "null"] },
     "doValidateOrderPrice": {
       "description": "Required. Indicates whether order price validation is performed on order placement for the Sales Order.",
       "type": "boolean"
@@ -100,49 +116,58 @@
         "additionalProperties": false,
         "properties": {
           "emailNotificationTemplateId": {
-            "description": "Required. Email notification template identifier.",
-            "type": "string"
+            "description": "Optional. Email notification template identifier.",
+            "type": ["string", "null"]
           },
           "emailAddresses": {
-            "description": "Required. Array of email addresses.",
-            "type": "array",
+            "description": "Optional. Array of email addresses.",
+            "type": ["array", "null"],
             "items": {"type": "string"}
           }
-        },
-        "required": ["emailNotificationTemplateId", "emailAddresses"]
+        }
       }
     },
+    "emailServiceProvider": {
+      "description": "Optional. Email service provider.",
+      "type": ["string", "null"]
+    },
+    "inheritParentOffers": {
+      "description": "Optional. Inherit parent offers flag. Defaults to false.",
+      "type": ["boolean", "null"],
+      "default": false
+    },
     "invoiceEmailAddress": {
       "description": "Optional. Invoice email address. Must be a valid email if provided.",
       "type": ["string", "null"],
       "format": "email"
     },
+    "mailingFileLocation": {
+      "description": "Optional. Mailing file location.",
+      "type": ["string", "null"]
+    },
     "name": {"description": "Required. Customer name.", "type": "string", "minLength": 1},
-    "offerRevisionDelimiter": { "type": ["string", "null"] },
+    "offerRevisionDelimiter": {
+      "description": "Optional. Offer revision delimiter.",
+      "type": ["string", "null"]
+    },
     "parent": {
+      "description": "Optional. Parent customer reference.",
       "type": ["object", "null"],
       "additionalProperties": false,
       "properties": {
-        "id": {
-          "description": "Required. Must not be the same as the customer id. Must exist in the system.",
-          "type": ["string", "null"]
-        },
-        "name": { "type": ["string", "null"] }
-      },
-      "required": ["id"]
+        "id"  : { "description": "Optional. Parent customer ID."  , "type": ["string", "null"] },
+        "name": { "description": "Optional. Parent customer name.", "type": ["string", "null"] }
+      }
     },
-    "partner": { "description": "Optional. Partner name.", "type": ["string", "null"] },
     "paymentEmailAddress": {
       "description": "Optional. Payment email address. Must be a valid email if provided.",
       "type": ["string", "null"],
       "format": "email"
     },
-    "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
     "productionFileLocation": {
       "description": "Optional. Production file location.",
       "type": ["string", "null"]
     },
-    "salesRep": { "description": "Optional. Sales representative.", "type": ["string", "null"] },
     "shipMethodMappings": {
       "description": "Optional. Ship method mappings for the customer.",
       "type": ["array", "null"],
@@ -165,11 +190,7 @@
               "type": "object",
               "additionalProperties": false,
               "properties": {
-                "fulfillmentSystemId": {
-                  "description": "Required. Fulfillment system identifier.",
-                  "type": "integer",
-                  "format": "int64"
-                },
+                "fulfillmentSystemId": {"description": "Required. Fulfillment system identifier.", "type": "integer"},
                 "fulfillmentSystemShipMethodId": {
                   "description": "Required. Fulfillment system ship method identifier.",
                   "type": "string"
@@ -181,8 +202,8 @@
           "trackingUrl": { "description": "Optional. Tracking URL.", "type": ["string", "null"] }
         },
         "required": [
-          "fulfillmentSystemShipMethods", "ratesProviderShipMethodId",
-          "sourceSystemShipMethodId"
+          "sourceSystemShipMethodId", "ratesProviderShipMethodId",
+          "fulfillmentSystemShipMethods"
         ]
       }
     },
@@ -193,11 +214,7 @@
         "type": "object",
         "additionalProperties": false,
         "properties": {
-          "id": {
-            "description": "Required. Source system identifier.",
-            "type": "integer",
-            "format": "int64"
-          },
+          "id": {"description": "Required. Source system identifier.", "type": "integer"},
           "sourceSystemCustomerId": {
             "description": "Required. Source system customer identifier.",
             "type": "string"
@@ -206,8 +223,10 @@
         "required": ["id", "sourceSystemCustomerId"]
       }
     },
-    "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
-    "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
+    "useDefaultBillingEntity": {
+      "description": "Optional. Use default billing entity flag.",
+      "type": ["boolean", "null"]
+    }
   },
-  "required": ["id", "name", "doValidateOrderPrice", "billToCodeRequiredOnOrder"]
+  "required": ["id", "name", "doValidateOrderPrice", "billingEntities"]
 }
diff --git a/schema/Api/CustomerBroker/CreateCustomerResponse.json b/schema/Api/CustomerBroker/CreateCustomerResponse.json
index 1fef47a3..885ecfbd 100644
--- a/schema/Api/CustomerBroker/CreateCustomerResponse.json
+++ b/schema/Api/CustomerBroker/CreateCustomerResponse.json
@@ -5,9 +5,12 @@
   "additionalProperties": false,
   "properties": {
     "data": {
+      "description": "Response data.",
       "type": ["object", "null"],
       "additionalProperties": false,
-      "properties": { "id": { "type": ["string", "null"] } }
+      "properties": {
+        "id": { "description": "Created customer identifier.", "type": ["string", "null"] }
+      }
     },
     "failureMessages": { "type": "array", "items": {"type": "string"} },
     "informationalMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Api/CustomerBroker/GetBillingEntitiesResponse.json b/schema/Api/CustomerBroker/GetBillingEntitiesResponse.json
index 60854edf..2bbb83b3 100644
--- a/schema/Api/CustomerBroker/GetBillingEntitiesResponse.json
+++ b/schema/Api/CustomerBroker/GetBillingEntitiesResponse.json
@@ -5,59 +5,56 @@
   "additionalProperties": false,
   "properties": {
     "data": {
-      "description": "Optional. Array of billing entity summary data objects.",
+      "description": "Array of billing entity summary data objects.",
       "type": ["array", "null"],
       "items": {
         "type": "object",
         "additionalProperties": false,
         "properties": {
-          "id": {
-            "description": "Unique billing entity identifier.",
-            "type": ["string", "null"]
-          },
+          "id": {"description": "Billing entity identifier.", "type": "string"},
           "defaultBillToAddress": {
-            "description": "Optional. Default billing address for this entity.",
+            "description": "Default billing address for this entity.",
             "type": ["object", "null"],
             "additionalProperties": false,
             "properties": {
-              "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": "Required. City."                , "type": "string"           },
-              "code"         : { "description": "Required. Code for the address.", "type": "string"           },
-              "company"      : { "description": "Optional. Company name."        , "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"] },
-              "name"         : { "description": "Required. Address name."        , "type": "string"           },
-              "phoneNumber"  : { "description": "Optional. Phone number."        , "type": ["string", "null"] },
-              "postalCode"   : { "description": "Required. Postal code."         , "type": "string"           },
-              "stateProvince": { "description": "Required. State or province."   , "type": "string"           }
+              "address1"     : { "description": "Address line 1."   , "type": "string"           },
+              "address2"     : { "description": "Address line 2."   , "type": ["string", "null"] },
+              "address3"     : { "description": "Address line 3."   , "type": ["string", "null"] },
+              "city"         : { "description": "City."             , "type": "string"           },
+              "code"         : { "description": "Address code."     , "type": "string"           },
+              "company"      : { "description": "Company name."     , "type": ["string", "null"] },
+              "country"      : { "description": "Country."          , "type": "string"           },
+              "emailAddress" : { "description": "Email address."    , "type": ["string", "null"] },
+              "faxNumber"    : { "description": "Fax number."       , "type": ["string", "null"] },
+              "name"         : { "description": "Address name."     , "type": "string"           },
+              "phoneNumber"  : { "description": "Phone number."     , "type": ["string", "null"] },
+              "postalCode"   : { "description": "Postal code."      , "type": "string"           },
+              "stateProvince": { "description": "State or province.", "type": "string"           }
             },
-            "required": ["code", "name", "address1", "city", "country", "stateProvince", "postalCode"]
+            "required": ["code", "name", "address1", "city", "stateProvince", "postalCode", "country"]
           },
           "defaultShipToAddress": {
-            "description": "Optional. Default shipping address for this entity.",
+            "description": "Default shipping address for this entity.",
             "type": ["object", "null"],
             "additionalProperties": false,
             "properties": {
-              "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": "Required. City."                , "type": "string"           },
-              "code"         : { "description": "Required. Code for the address.", "type": "string"           },
-              "company"      : { "description": "Optional. Company name."        , "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"] },
-              "name"         : { "description": "Required. Address name."        , "type": "string"           },
-              "phoneNumber"  : { "description": "Optional. Phone number."        , "type": ["string", "null"] },
-              "postalCode"   : { "description": "Required. Postal code."         , "type": "string"           },
-              "stateProvince": { "description": "Required. State or province."   , "type": "string"           }
+              "address1"     : { "description": "Address line 1."   , "type": "string"           },
+              "address2"     : { "description": "Address line 2."   , "type": ["string", "null"] },
+              "address3"     : { "description": "Address line 3."   , "type": ["string", "null"] },
+              "city"         : { "description": "City."             , "type": "string"           },
+              "code"         : { "description": "Address code."     , "type": "string"           },
+              "company"      : { "description": "Company name."     , "type": ["string", "null"] },
+              "country"      : { "description": "Country."          , "type": "string"           },
+              "emailAddress" : { "description": "Email address."    , "type": ["string", "null"] },
+              "faxNumber"    : { "description": "Fax number."       , "type": ["string", "null"] },
+              "name"         : { "description": "Address name."     , "type": "string"           },
+              "phoneNumber"  : { "description": "Phone number."     , "type": ["string", "null"] },
+              "postalCode"   : { "description": "Postal code."      , "type": "string"           },
+              "stateProvince": { "description": "State or province.", "type": "string"           }
             },
-            "required": ["code", "name", "address1", "city", "country", "stateProvince", "postalCode"]
+            "required": ["code", "name", "address1", "city", "stateProvince", "postalCode", "country"]
           },
-          "name": { "description": "Billing entity name.", "type": ["string", "null"] }
+          "name": {"description": "Billing entity name.", "type": "string"}
         },
         "required": ["id", "name"]
       }
diff --git a/schema/Api/CustomerBroker/GetBillingEntityDetailsResponse.json b/schema/Api/CustomerBroker/GetBillingEntityDetailsResponse.json
index 3b27eb23..1ff4691b 100644
--- a/schema/Api/CustomerBroker/GetBillingEntityDetailsResponse.json
+++ b/schema/Api/CustomerBroker/GetBillingEntityDetailsResponse.json
@@ -5,59 +5,44 @@
   "additionalProperties": false,
   "properties": {
     "data": {
-      "description": "Optional. Detailed billing entity data.",
+      "description": "Billing entity detail data.",
       "type": ["object", "null"],
       "additionalProperties": false,
       "properties": {
-        "id": {
-          "description": "Unique billing entity identifier.",
+        "id": { "description": "Billing entity identifier.", "type": ["string", "null"] },
+        "parentId": {
+          "description": "Parent billing entity identifier.",
           "type": ["string", "null"]
         },
-        "defaultBillToAddress": {
-          "description": "Optional. Default billing address for this entity.",
-          "type": ["object", "null"],
-          "additionalProperties": false,
-          "properties": {
-            "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": "Required. City."                , "type": "string"           },
-            "code"         : { "description": "Required. Code for the address.", "type": "string"           },
-            "company"      : { "description": "Optional. Company name."        , "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"] },
-            "name"         : { "description": "Required. Address name."        , "type": "string"           },
-            "phoneNumber"  : { "description": "Optional. Phone number."        , "type": ["string", "null"] },
-            "postalCode"   : { "description": "Required. Postal code."         , "type": "string"           },
-            "stateProvince": { "description": "Required. State or province."   , "type": "string"           }
-          },
-          "required": ["code", "name", "address1", "city", "country", "stateProvince", "postalCode"]
-        },
-        "defaultShipToAddress": {
-          "description": "Optional. Default shipping address for this entity.",
-          "type": ["object", "null"],
-          "additionalProperties": false,
-          "properties": {
-            "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": "Required. City."                , "type": "string"           },
-            "code"         : { "description": "Required. Code for the address.", "type": "string"           },
-            "company"      : { "description": "Optional. Company name."        , "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"] },
-            "name"         : { "description": "Required. Address name."        , "type": "string"           },
-            "phoneNumber"  : { "description": "Optional. Phone number."        , "type": ["string", "null"] },
-            "postalCode"   : { "description": "Required. Postal code."         , "type": "string"           },
-            "stateProvince": { "description": "Required. State or province."   , "type": "string"           }
-          },
-          "required": ["code", "name", "address1", "city", "country", "stateProvince", "postalCode"]
+        "addresses": {
+          "description": "Full list of addresses.",
+          "type": ["array", "null"],
+          "items": {
+            "type": "object",
+            "additionalProperties": false,
+            "properties": {
+              "address1"     : { "description": "Address line 1."   , "type": ["string", "null"] },
+              "address2"     : { "description": "Address line 2."   , "type": ["string", "null"] },
+              "address3"     : { "description": "Address line 3."   , "type": ["string", "null"] },
+              "city"         : { "description": "City."             , "type": ["string", "null"] },
+              "code"         : { "description": "Address code."     , "type": ["string", "null"] },
+              "company"      : { "description": "Company name."     , "type": ["string", "null"] },
+              "country"      : { "description": "Country."          , "type": ["string", "null"] },
+              "emailAddress" : { "description": "Email address."    , "type": ["string", "null"] },
+              "faxNumber"    : { "description": "Fax number."       , "type": ["string", "null"] },
+              "name"         : { "description": "Address name."     , "type": ["string", "null"] },
+              "phoneNumber"  : { "description": "Phone number."     , "type": ["string", "null"] },
+              "postalCode"   : { "description": "Postal code."      , "type": ["string", "null"] },
+              "stateProvince": { "description": "State or province.", "type": ["string", "null"] }
+            }
+          }
         },
-        "name": { "description": "Billing entity name.", "type": ["string", "null"] }
-      },
-      "required": ["id", "name"]
+        "customerSince": { "description": "Customer since date.", "type": ["string", "null"] },
+        "defaultBillToAddressCode": { "description": "Default bill-to address code.", "type": ["string", "null"] },
+        "defaultShipToAddressCode": { "description": "Default ship-to address code.", "type": ["string", "null"] },
+        "name": { "description": "Billing entity name.", "type": ["string", "null"] },
+        "status": { "description": "Billing entity status.", "type": ["string", "null"] }
+      }
     },
     "failureMessages": { "type": "array", "items": {"type": "string"} },
     "informationalMessages": { "type": "array", "items": {"type": "string"} },
@@ -68,25 +53,32 @@
     {
       "data": {
         "id": "BE-001",
-        "defaultBillToAddress": {
-          "address1": "123 Main St",
-          "city": "Springfield",
-          "code": "MAIN",
-          "country": "US",
-          "name": "Main Office",
-          "postalCode": "12345",
-          "stateProvince": "IL"
-        },
-        "defaultShipToAddress": {
-          "address1": "456 Ship St",
-          "city": "Springfield",
-          "code": "SHIP",
-          "country": "US",
-          "name": "Shipping Warehouse",
-          "postalCode": "12346",
-          "stateProvince": "IL"
-        },
-        "name": "Main Billing Entity"
+        "parentId": null,
+        "addresses": [
+          {
+            "address1": "123 Main St",
+            "city": "Springfield",
+            "code": "MAIN",
+            "country": "US",
+            "name": "Main Office",
+            "postalCode": "12345",
+            "stateProvince": "IL"
+          },
+          {
+            "address1": "456 Ship St",
+            "city": "Springfield",
+            "code": "SHIP",
+            "country": "US",
+            "name": "Shipping Warehouse",
+            "postalCode": "12346",
+            "stateProvince": "IL"
+          }
+        ],
+        "customerSince": "2020-01-15T00:00:00Z",
+        "defaultBillToAddressCode": "MAIN",
+        "defaultShipToAddressCode": "SHIP",
+        "name": "Main Billing Entity",
+        "status": "Active"
       },
       "failureMessages": [],
       "informationalMessages": [],
diff --git a/schema/Api/CustomerBroker/GetCustomerIdResponse.json b/schema/Api/CustomerBroker/GetCustomerIdResponse.json
index fe6d290c..183b5d63 100644
--- a/schema/Api/CustomerBroker/GetCustomerIdResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerIdResponse.json
@@ -5,6 +5,7 @@
   "additionalProperties": false,
   "properties": {
     "data": {
+      "description": "Response data.",
       "type": ["object", "null"],
       "additionalProperties": false,
       "properties": { "id": { "description": "Customer identifier.", "type": ["string", "null"] } }
diff --git a/schema/Api/CustomerBroker/GetCustomerResponse.json b/schema/Api/CustomerBroker/GetCustomerResponse.json
index a43fa531..399c4522 100644
--- a/schema/Api/CustomerBroker/GetCustomerResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerResponse.json
@@ -5,243 +5,172 @@
   "additionalProperties": false,
   "properties": {
     "data": {
+      "description": "Customer detail data.",
       "type": ["object", "null"],
       "additionalProperties": false,
       "properties": {
-        "defaultWarehouseId": { "description": "Optional. Warehouse identifier.", "type": ["string", "null"] },
-        "id": {
-          "description": "Required. Unique customer identifier. Must not be empty. Must exist for update. Cannot be the same as parent.id.",
-          "type": ["string", "null"],
-          "minLength": 1
-        },
-        "xmlSenderId": {
-          "description": "Optional. XML sender identifier.",
-          "type": ["string", "null"]
-        },
-        "billToCodeRequiredOnOrder": {
-          "description": "Required. Indicates whether BillTo code is required on order placement.",
-          "type": "boolean"
-        },
+        "defaultWarehouseId": { "description": "Default warehouse identifier.", "type": ["string", "null"] },
+        "id": { "description": "Customer identifier.", "type": ["string", "null"] },
+        "xmlSenderId": { "description": "XML sender identifier.", "type": ["string", "null"] },
         "billingEntities": {
+          "description": "Billing entities.",
           "type": ["array", "null"],
           "items": {
             "type": "object",
             "additionalProperties": false,
             "properties": {
-              "id": {"description": "Required. Billing entity identifier.", "type": "string"},
-              "xmlSenderId": { "description": "Optional. XmlSenderId override.", "type": ["string", "null"] },
+              "id": {"description": "Billing entity identifier.", "type": "string"},
+              "xmlSenderId": { "description": "XmlSenderId override.", "type": ["string", "null"] },
               "addresses": {
-                "description": "Required. Addresses linked to this billing entity.",
-                "type": "array",
+                "description": "Addresses linked to this billing entity.",
+                "type": ["array", "null"],
                 "items": {
                   "type": "object",
                   "additionalProperties": false,
                   "properties": {
-                    "xmlSenderId": { "description": "Optional. XmlSenderId.", "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": "Required. City.", "type": "string"},
-                    "code": {"description": "Required. Code for the address.", "type": "string"},
-                    "company": { "description": "Optional. Company name.", "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": "Required. Indicates whether this is the default bill-to address.",
-                      "type": "boolean"
-                    },
-                    "isShipToDefault": {
-                      "description": "Required. Indicates whether this is the default ship-to address.",
-                      "type": "boolean"
-                    },
-                    "name": {"description": "Required. Address name.", "type": "string"},
-                    "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
-                    "postalCode": {"description": "Required. Postal code.", "type": "string"},
-                    "stateProvince": {"description": "Required. State or province.", "type": "string"}
+                    "xmlSenderId"    : { "description": "XmlSenderId."         , "type": ["string", "null"]  },
+                    "address1"       : { "description": "Address line 1."      , "type": "string"            },
+                    "address2"       : { "description": "Address line 2."      , "type": ["string", "null"]  },
+                    "address3"       : { "description": "Address line 3."      , "type": ["string", "null"]  },
+                    "city"           : { "description": "City."                , "type": "string"            },
+                    "code"           : { "description": "Address code."        , "type": "string"            },
+                    "company"        : { "description": "Company name."        , "type": ["string", "null"]  },
+                    "country"        : { "description": "Country."             , "type": "string"            },
+                    "emailAddress"   : { "description": "Email address."       , "type": ["string", "null"]  },
+                    "faxNumber"      : { "description": "Fax number."          , "type": ["string", "null"]  },
+                    "isBillToDefault": { "description": "Bill-to default flag.", "type": ["boolean", "null"] },
+                    "isShipToDefault": { "description": "Ship-to default flag.", "type": ["boolean", "null"] },
+                    "name"           : { "description": "Address name."        , "type": "string"            },
+                    "phoneNumber"    : { "description": "Phone number."        , "type": ["string", "null"]  },
+                    "postalCode"     : { "description": "Postal code."         , "type": "string"            },
+                    "stateProvince"  : { "description": "State or province."   , "type": "string"            }
                   },
-                  "required": [
-                    "code", "name", "address1", "city", "country", "stateProvince", "postalCode",
-                    "isBillToDefault", "isShipToDefault"
-                  ]
+                  "required": ["code", "name", "address1", "city", "stateProvince", "postalCode", "country"]
                 }
               },
               "isDefaultForCustomer": {
-                "description": "Required. Indicates whether this is the default billing entity for the customer.",
-                "type": "boolean"
+                "description": "Indicates whether this is the default billing entity for the customer.",
+                "type": ["boolean", "null"]
               }
             },
-            "required": ["id", "isDefaultForCustomer", "addresses"]
+            "required": ["id"]
           }
         },
-        "brokerScopes": { "type": "array", "items": {"type": "string"} },
+        "brokerScopes": {
+          "description": "Broker scopes.",
+          "type": ["array", "null"],
+          "items": {"type": "string"}
+        },
         "contactAddress": {
+          "description": "Contact address.",
           "type": ["object", "null"],
           "additionalProperties": false,
           "properties": {
-            "address1": {
-              "description": "Required if contactAddress is present. Address line 1. Must not be empty.",
-              "type": "string"
-            },
-            "address2": { "description": "Optional. Address line 2.", "type": ["string", "null"] },
-            "address3": { "description": "Optional. Address line 3.", "type": ["string", "null"] },
-            "city": {
-              "description": "Required if contactAddress is present. City. Must not be empty.",
-              "type": "string"
-            },
-            "company": { "description": "Optional. Company name.", "type": ["string", "null"] },
-            "country": {
-              "description": "Required if contactAddress is present. Country. Must not be empty.",
-              "type": "string"
-            },
-            "faxNumber": { "description": "Optional. Fax number.", "type": ["string", "null"] },
-            "name": { "description": "Optional. Contact name.", "type": ["string", "null"] },
-            "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
-            "postalCode": {
-              "description": "Required if contactAddress is present. Postal code. Must not be empty.",
-              "type": "string"
-            },
-            "stateProvince": {"description": "Required. State or province.", "type": "string"}
-          },
-          "required": ["address1", "city", "country", "postalCode", "stateProvince"]
-        },
-        "contactEmailAddress": {
-          "description": "Optional. Contact email address. Must be a valid email if provided.",
-          "type": ["string", "null"],
-          "format": "email"
-        },
-        "doValidateOrderPrice": {
-          "description": "Required. Indicates whether order price validation is performed on order placement for the Sales Order.",
-          "type": "boolean"
+            "address1"     : { "description": "Address line 1."   , "type": ["string", "null"] },
+            "address2"     : { "description": "Address line 2."   , "type": ["string", "null"] },
+            "address3"     : { "description": "Address line 3."   , "type": ["string", "null"] },
+            "city"         : { "description": "City."             , "type": ["string", "null"] },
+            "company"      : { "description": "Company name."     , "type": ["string", "null"] },
+            "country"      : { "description": "Country."          , "type": ["string", "null"] },
+            "faxNumber"    : { "description": "Fax number."       , "type": ["string", "null"] },
+            "name"         : { "description": "Contact name."     , "type": ["string", "null"] },
+            "phoneNumber"  : { "description": "Phone number."     , "type": ["string", "null"] },
+            "postalCode"   : { "description": "Postal code."      , "type": ["string", "null"] },
+            "stateProvince": { "description": "State or province.", "type": ["string", "null"] }
+          }
         },
+        "contactEmailAddress": { "description": "Contact email address.", "type": ["string", "null"] },
+        "directMailProvider": { "description": "Direct mail provider.", "type": ["string", "null"] },
+        "doValidateOrderPrice": { "description": "Order price validation flag.", "type": ["boolean", "null"] },
         "emailNotificationSubscriptions": {
-          "description": "Optional. List of email notification subscriptions.",
+          "description": "Email notification subscriptions.",
           "type": ["array", "null"],
           "items": {
             "type": "object",
             "additionalProperties": false,
             "properties": {
               "emailNotificationTemplateId": {
-                "description": "Required. Email notification template identifier.",
-                "type": "string"
+                "description": "Email notification template identifier.",
+                "type": ["string", "null"]
               },
               "emailAddresses": {
-                "description": "Required. Array of email addresses.",
-                "type": "array",
+                "description": "Array of email addresses.",
+                "type": ["array", "null"],
                 "items": {"type": "string"}
               }
-            },
-            "required": ["emailNotificationTemplateId", "emailAddresses"]
+            }
           }
         },
-        "invoiceEmailAddress": {
-          "description": "Optional. Invoice email address. Must be a valid email if provided.",
-          "type": ["string", "null"],
-          "format": "email"
-        },
-        "name": { "type": ["string", "null"] },
-        "offerRevisionDelimiter": { "type": ["string", "null"] },
+        "emailServiceProvider": { "description": "Email service provider.", "type": ["string", "null"] },
+        "inheritParentOffers": { "description": "Inherit parent offers flag.", "type": ["boolean", "null"] },
+        "invoiceEmailAddress": { "description": "Invoice email address.", "type": ["string", "null"] },
+        "mailingFileLocation": { "description": "Mailing file location.", "type": ["string", "null"] },
+        "name": { "description": "Customer name.", "type": ["string", "null"] },
+        "offerRevisionDelimiter": { "description": "Offer revision delimiter.", "type": ["string", "null"] },
         "parent": {
+          "description": "Parent customer reference.",
           "type": ["object", "null"],
           "additionalProperties": false,
           "properties": {
-            "id": {
-              "description": "Required. Must not be the same as the customer id. Must exist in the system.",
-              "type": ["string", "null"]
-            },
-            "name": { "type": ["string", "null"] }
-          },
-          "required": ["id"]
-        },
-        "partner": { "description": "Optional. Partner name.", "type": ["string", "null"] },
-        "paymentEmailAddress": {
-          "description": "Optional. Payment email address. Must be a valid email if provided.",
-          "type": ["string", "null"],
-          "format": "email"
-        },
-        "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
-        "productionFileLocation": {
-          "description": "Optional. Production file location.",
-          "type": ["string", "null"]
+            "id"  : { "description": "Parent customer identifier.", "type": ["string", "null"] },
+            "name": { "description": "Parent customer name."      , "type": ["string", "null"] }
+          }
         },
-        "salesRep": { "description": "Optional. Sales representative.", "type": ["string", "null"] },
+        "paymentEmailAddress": { "description": "Payment email address.", "type": ["string", "null"] },
+        "productionFileLocation": { "description": "Production file location.", "type": ["string", "null"] },
         "shipMethodMappings": {
-          "description": "Optional. Ship method mappings for the customer.",
+          "description": "Ship method mappings.",
           "type": ["array", "null"],
           "items": {
             "type": "object",
             "additionalProperties": false,
             "properties": {
               "ratesProviderShipMethodId": {
-                "description": "Required. Rates provider ship method identifier.",
-                "type": "string"
+                "description": "Rates provider ship method identifier.",
+                "type": ["string", "null"]
               },
               "sourceSystemShipMethodId": {
-                "description": "Required. Source system ship method identifier.",
-                "type": "string"
+                "description": "Source system ship method identifier.",
+                "type": ["string", "null"]
               },
               "fulfillmentSystemShipMethods": {
-                "description": "Required. Fulfillment system ship methods.",
-                "type": "array",
+                "description": "Fulfillment system ship methods.",
+                "type": ["array", "null"],
                 "items": {
                   "type": "object",
                   "additionalProperties": false,
                   "properties": {
-                    "fulfillmentSystemId": {
-                      "description": "Required. Fulfillment system identifier.",
-                      "type": "integer",
-                      "format": "int64"
-                    },
+                    "fulfillmentSystemId": { "description": "Fulfillment system identifier.", "type": ["integer", "null"] },
                     "fulfillmentSystemShipMethodId": {
-                      "description": "Required. Fulfillment system ship method identifier.",
-                      "type": "string"
-                    },
-                    "fulfillmentSystemName": {"description": "Required. Fulfillment system name.", "type": "string"}
-                  },
-                  "required": [
-                    "fulfillmentSystemId", "fulfillmentSystemName", "fulfillmentSystemShipMethodId"
-                  ]
+                      "description": "Fulfillment system ship method identifier.",
+                      "type": ["string", "null"]
+                    }
+                  }
                 }
               },
-              "trackingUrl": { "description": "Optional. Tracking URL.", "type": ["string", "null"] }
-            },
-            "required": [
-              "fulfillmentSystemShipMethods", "ratesProviderShipMethodId",
-              "sourceSystemShipMethodId"
-            ]
+              "trackingUrl": { "description": "Tracking URL.", "type": ["string", "null"] }
+            }
           }
         },
         "sourceSystems": {
-          "description": "Optional. Source systems for the customer.",
+          "description": "Source systems.",
           "type": ["array", "null"],
           "items": {
             "type": "object",
             "additionalProperties": false,
             "properties": {
-              "authClientId": {
-                "description": "Optional. Authentication client identifier.",
-                "type": ["string", "null"]
-              },
-              "id": {
-                "description": "Required. Source system identifier.",
-                "type": "integer",
-                "format": "int64"
-              },
+              "id": { "description": "Source system identifier.", "type": ["integer", "null"] },
               "sourceSystemCustomerId": {
-                "description": "Optional. Source system customer identifier.",
-                "type": ["string", "null"]
-              },
-              "clientSecret": {
-                "description": "Optional. Client secret for authentication.",
+                "description": "Source system customer identifier.",
                 "type": ["string", "null"]
-              },
-              "name": { "description": "Optional. Source system name.", "type": ["string", "null"] }
-            },
-            "required": ["id"]
+              }
+            }
           }
         },
-        "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
-        "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
+        "useDefaultBillingEntity": {
+          "description": "Use default billing entity flag.",
+          "type": ["boolean", "null"]
+        }
       }
     },
     "failureMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Api/CustomerBroker/GetOfferCatalogFamilyResponse.json b/schema/Api/CustomerBroker/GetOfferCatalogFamilyResponse.json
new file mode 100644
index 00000000..4af1ba51
--- /dev/null
+++ b/schema/Api/CustomerBroker/GetOfferCatalogFamilyResponse.json
@@ -0,0 +1,53 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "GetOfferCatalogFamilyResponse.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "data": {
+      "description": "Offer catalog family data containing ancestor and descendant customer IDs.",
+      "type": ["object", "null"],
+      "additionalProperties": false,
+      "properties": {
+        "ancestors": {
+          "description": "List of ancestor customer IDs in the offer catalog hierarchy.",
+          "type": "array",
+          "items": {"type": "string"}
+        },
+        "descendants": {
+          "description": "List of descendant customer IDs in the offer catalog hierarchy.",
+          "type": "array",
+          "items": {"type": "string"}
+        }
+      },
+      "required": ["ancestors", "descendants"]
+    },
+    "failureMessages": { "type": "array", "items": {"type": "string"} },
+    "informationalMessages": { "type": "array", "items": {"type": "string"} },
+    "operationWasSuccessful": {"type": "boolean"}
+  },
+  "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"],
+  "examples": [
+    {
+      "data": {
+        "ancestors"  : [ "PARENT-001", "GRANDPARENT-001"                   ],
+        "descendants": [ "CHILD-001" , "CHILD-002"      , "GRANDCHILD-001" ]
+      },
+      "failureMessages": [],
+      "informationalMessages": [],
+      "operationWasSuccessful": true
+    },
+    {
+      "data": {"ancestors": [], "descendants": []},
+      "failureMessages": [],
+      "informationalMessages": ["Customer has no parent or child relationships."],
+      "operationWasSuccessful": true
+    },
+    {
+      "data": null,
+      "failureMessages": ["Customer not found."],
+      "informationalMessages": [],
+      "operationWasSuccessful": false
+    }
+  ]
+}
diff --git a/schema/Api/CustomerBroker/InternalGetOfferCatalogFamilyParameters.json b/schema/Api/CustomerBroker/InternalGetOfferCatalogFamilyParameters.json
new file mode 100644
index 00000000..df3a87aa
--- /dev/null
+++ b/schema/Api/CustomerBroker/InternalGetOfferCatalogFamilyParameters.json
@@ -0,0 +1,9 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "CustomerId": {
+    "in": "path",
+    "name": "customerId",
+    "schema": {"type": "string"},
+    "required": true
+  }
+}
diff --git a/schema/Api/CustomerBroker/InternalGetOfferCatalogFamilyResponse.json b/schema/Api/CustomerBroker/InternalGetOfferCatalogFamilyResponse.json
new file mode 100644
index 00000000..3fc569ee
--- /dev/null
+++ b/schema/Api/CustomerBroker/InternalGetOfferCatalogFamilyResponse.json
@@ -0,0 +1,52 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "InternalGetOfferCatalogFamilyResponse.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "data": {
+      "type": ["object", "null"],
+      "additionalProperties": false,
+      "properties": {
+        "ancestors": {
+          "description": "Required. Array of customer IDs representing ancestor customers in the offer catalog family tree.",
+          "type": "array",
+          "items": {"type": "string"}
+        },
+        "descendants": {
+          "description": "Required. Array of customer IDs representing descendant customers in the offer catalog family tree.",
+          "type": "array",
+          "items": {"type": "string"}
+        }
+      },
+      "required": ["ancestors", "descendants"]
+    },
+    "failureMessages": { "type": "array", "items": {"type": "string"} },
+    "informationalMessages": { "type": "array", "items": {"type": "string"} },
+    "operationWasSuccessful": {"type": "boolean"}
+  },
+  "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"],
+  "examples": [
+    {
+      "data": {
+        "ancestors"  : [ "PARENT-001", "GRANDPARENT-001" ],
+        "descendants": [ "CHILD-001" , "CHILD-002"       ]
+      },
+      "failureMessages": [],
+      "informationalMessages": [],
+      "operationWasSuccessful": true
+    },
+    {
+      "data": {"ancestors": [], "descendants": []},
+      "failureMessages": [],
+      "informationalMessages": [],
+      "operationWasSuccessful": true
+    },
+    {
+      "data": null,
+      "failureMessages": ["Customer not found"],
+      "informationalMessages": [],
+      "operationWasSuccessful": false
+    }
+  ]
+}
diff --git a/schema/Api/CustomerBroker/UpdateCustomerRequest.json b/schema/Api/CustomerBroker/UpdateCustomerRequest.json
index 3a782699..33acaece 100644
--- a/schema/Api/CustomerBroker/UpdateCustomerRequest.json
+++ b/schema/Api/CustomerBroker/UpdateCustomerRequest.json
@@ -14,17 +14,18 @@
       "description": "Optional. XML sender identifier.",
       "type": ["string", "null"]
     },
-    "billToCodeRequiredOnOrder": {
-      "description": "Required. Indicates whether BillTo code is required on order placement.",
-      "type": "boolean"
-    },
     "billingEntities": {
-      "type": ["array", "null"],
+      "description": "Billing entities. At least one is required.",
+      "type": "array",
       "items": {
         "type": "object",
         "additionalProperties": false,
         "properties": {
-          "id": {"description": "Required. Billing entity identifier.", "type": "string"},
+          "id": {
+            "description": "Required. Billing entity identifier. Must not be empty.",
+            "type": "string",
+            "minLength": 1
+          },
           "xmlSenderId": { "description": "Optional. XmlSenderId override.", "type": ["string", "null"] },
           "addresses": {
             "description": "Required. Addresses linked to this billing entity.",
@@ -45,36 +46,50 @@
           }
         },
         "required": ["id", "isDefaultForCustomer", "addresses"]
-      }
+      },
+      "minItems": 1
+    },
+    "brokerScopes": {
+      "description": "Optional. Broker scopes.",
+      "type": ["array", "null"],
+      "items": {"type": "string"}
     },
-    "brokerScopes": { "type": "array", "items": {"type": "string"} },
     "contactAddress": {
+      "description": "Optional. Contact address.",
       "type": ["object", "null"],
       "additionalProperties": false,
       "properties": {
         "address1": {
           "description": "Required if contactAddress is present. Address line 1. Must not be empty.",
-          "type": "string"
+          "type": "string",
+          "minLength": 1
         },
         "address2": { "description": "Optional. Address line 2.", "type": ["string", "null"] },
         "address3": { "description": "Optional. Address line 3.", "type": ["string", "null"] },
         "city": {
           "description": "Required if contactAddress is present. City. Must not be empty.",
-          "type": "string"
+          "type": "string",
+          "minLength": 1
         },
         "company": { "description": "Optional. Company name.", "type": ["string", "null"] },
         "country": {
           "description": "Required if contactAddress is present. Country. Must not be empty.",
-          "type": "string"
+          "type": "string",
+          "minLength": 1
         },
         "faxNumber": { "description": "Optional. Fax number.", "type": ["string", "null"] },
         "name": { "description": "Optional. Contact name.", "type": ["string", "null"] },
         "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
         "postalCode": {
           "description": "Required if contactAddress is present. Postal code. Must not be empty.",
-          "type": "string"
+          "type": "string",
+          "minLength": 1
         },
-        "stateProvince": {"description": "Required. State or province.", "type": "string"}
+        "stateProvince": {
+          "description": "Required if contactAddress is present. State or province. Must not be empty.",
+          "type": "string",
+          "minLength": 1
+        }
       },
       "required": ["address1", "city", "country", "postalCode", "stateProvince"]
     },
@@ -83,6 +98,7 @@
       "type": ["string", "null"],
       "format": "email"
     },
+    "directMailProvider": { "description": "Optional. Direct mail provider.", "type": ["string", "null"] },
     "doValidateOrderPrice": {
       "description": "Required. Indicates whether order price validation is performed on order placement for the Sales Order.",
       "type": "boolean"
@@ -95,49 +111,58 @@
         "additionalProperties": false,
         "properties": {
           "emailNotificationTemplateId": {
-            "description": "Required. Email notification template identifier.",
-            "type": "string"
+            "description": "Optional. Email notification template identifier.",
+            "type": ["string", "null"]
           },
           "emailAddresses": {
-            "description": "Required. Array of email addresses.",
-            "type": "array",
+            "description": "Optional. Array of email addresses.",
+            "type": ["array", "null"],
             "items": {"type": "string"}
           }
-        },
-        "required": ["emailNotificationTemplateId", "emailAddresses"]
+        }
       }
     },
+    "emailServiceProvider": {
+      "description": "Optional. Email service provider.",
+      "type": ["string", "null"]
+    },
+    "inheritParentOffers": {
+      "description": "Optional. Inherit parent offers flag. Defaults to false.",
+      "type": ["boolean", "null"],
+      "default": false
+    },
     "invoiceEmailAddress": {
       "description": "Optional. Invoice email address. Must be a valid email if provided.",
       "type": ["string", "null"],
       "format": "email"
     },
+    "mailingFileLocation": {
+      "description": "Optional. Mailing file location.",
+      "type": ["string", "null"]
+    },
     "name": {"description": "Required. Customer name.", "type": "string", "minLength": 1},
-    "offerRevisionDelimiter": { "type": ["string", "null"] },
+    "offerRevisionDelimiter": {
+      "description": "Optional. Offer revision delimiter.",
+      "type": ["string", "null"]
+    },
     "parent": {
+      "description": "Optional. Parent customer reference.",
       "type": ["object", "null"],
       "additionalProperties": false,
       "properties": {
-        "id": {
-          "description": "Required. Must not be the same as the customer id. Must exist in the system.",
-          "type": ["string", "null"]
-        },
-        "name": { "type": ["string", "null"] }
-      },
-      "required": ["id"]
+        "id"  : { "description": "Optional. Parent customer ID."  , "type": ["string", "null"] },
+        "name": { "description": "Optional. Parent customer name.", "type": ["string", "null"] }
+      }
     },
-    "partner": { "description": "Optional. Partner name.", "type": ["string", "null"] },
     "paymentEmailAddress": {
       "description": "Optional. Payment email address. Must be a valid email if provided.",
       "type": ["string", "null"],
       "format": "email"
     },
-    "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
     "productionFileLocation": {
       "description": "Optional. Production file location.",
       "type": ["string", "null"]
     },
-    "salesRep": { "description": "Optional. Sales representative.", "type": ["string", "null"] },
     "shipMethodMappings": {
       "description": "Optional. Ship method mappings for the customer.",
       "type": ["array", "null"],
@@ -160,11 +185,7 @@
               "type": "object",
               "additionalProperties": false,
               "properties": {
-                "fulfillmentSystemId": {
-                  "description": "Required. Fulfillment system identifier.",
-                  "type": "integer",
-                  "format": "int64"
-                },
+                "fulfillmentSystemId": {"description": "Required. Fulfillment system identifier.", "type": "integer"},
                 "fulfillmentSystemShipMethodId": {
                   "description": "Required. Fulfillment system ship method identifier.",
                   "type": "string"
@@ -176,8 +197,8 @@
           "trackingUrl": { "description": "Optional. Tracking URL.", "type": ["string", "null"] }
         },
         "required": [
-          "fulfillmentSystemShipMethods", "ratesProviderShipMethodId",
-          "sourceSystemShipMethodId"
+          "sourceSystemShipMethodId", "ratesProviderShipMethodId",
+          "fulfillmentSystemShipMethods"
         ]
       }
     },
@@ -188,11 +209,7 @@
         "type": "object",
         "additionalProperties": false,
         "properties": {
-          "id": {
-            "description": "Required. Source system identifier.",
-            "type": "integer",
-            "format": "int64"
-          },
+          "id": {"description": "Required. Source system identifier.", "type": "integer"},
           "sourceSystemCustomerId": {
             "description": "Required. Source system customer identifier.",
             "type": "string"
@@ -201,12 +218,14 @@
         "required": ["id", "sourceSystemCustomerId"]
       }
     },
-    "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] },
     "updateDateTimeUtc": {
-      "description": "Optional. Update date/time in UTC. Must not be in the future if provided.",
+      "description": "Optional. Update date/time in UTC.",
       "type": ["string", "null"]
     },
-    "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
+    "useDefaultBillingEntity": {
+      "description": "Optional. Use default billing entity flag.",
+      "type": ["boolean", "null"]
+    }
   },
-  "required": ["id", "name", "doValidateOrderPrice", "billToCodeRequiredOnOrder"]
+  "required": ["id", "name", "doValidateOrderPrice", "billingEntities"]
 }
diff --git a/schema/Api/CustomerBroker/UpdateCustomerResponse.json b/schema/Api/CustomerBroker/UpdateCustomerResponse.json
index a354b0fb..4b16ef3a 100644
--- a/schema/Api/CustomerBroker/UpdateCustomerResponse.json
+++ b/schema/Api/CustomerBroker/UpdateCustomerResponse.json
@@ -5,9 +5,12 @@
   "additionalProperties": false,
   "properties": {
     "data": {
+      "description": "Response data.",
       "type": ["object", "null"],
       "additionalProperties": false,
-      "properties": { "id": { "type": ["string", "null"] } }
+      "properties": {
+        "id": { "description": "Updated customer identifier.", "type": ["string", "null"] }
+      }
     },
     "failureMessages": { "type": "array", "items": {"type": "string"} },
     "informationalMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Api/OfferBroker/CalculateOfferPricingRequest.json b/schema/Api/OfferBroker/CalculateOfferPricingRequest.json
new file mode 100644
index 00000000..517cff70
--- /dev/null
+++ b/schema/Api/OfferBroker/CalculateOfferPricingRequest.json
@@ -0,0 +1,47 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "CalculateOfferPricingRequest.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "offers": {
+      "description": "Required. List of offers to calculate pricing for.",
+      "type": "array",
+      "items": {
+        "type": "object",
+        "additionalProperties": false,
+        "properties": {
+          "offerId": {
+            "description": "Required. The offer ID to calculate pricing for.",
+            "type": "string",
+            "minLength": 1
+          },
+          "pageCount": {
+            "description": "Page count (used only if tiers and page count tiers exist).",
+            "type": ["integer", "null"],
+            "format": "int32"
+          },
+          "productIds": {
+            "description": "Product IDs for filtering (optional).",
+            "type": ["array", "null"],
+            "items": {"type": "string"}
+          },
+          "quantity": {
+            "description": "Required. The quantity to calculate pricing for.",
+            "type": "integer",
+            "format": "int32",
+            "minimum": 1
+          }
+        },
+        "required": ["offerId", "quantity"]
+      },
+      "minItems": 1
+    },
+    "priceClasses": {
+      "description": "Preferred price classes (priority order). Nullable.",
+      "type": ["array", "null"],
+      "items": {"type": "string"}
+    }
+  },
+  "required": ["offers"]
+}
diff --git a/schema/Api/OfferBroker/CalculateOfferPricingResponse.json b/schema/Api/OfferBroker/CalculateOfferPricingResponse.json
new file mode 100644
index 00000000..c03427b6
--- /dev/null
+++ b/schema/Api/OfferBroker/CalculateOfferPricingResponse.json
@@ -0,0 +1,58 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "CalculateOfferPricingResponse.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "data": {
+      "type": ["object", "null"],
+      "additionalProperties": false,
+      "properties": {
+        "customerId": {
+          "description": "The customer ID for which pricing was calculated.",
+          "type": "string"
+        },
+        "offers": {
+          "description": "List of calculated offer pricing results.",
+          "type": "array",
+          "items": {
+            "type": "object",
+            "additionalProperties": false,
+            "properties": {
+              "offerId": {"description": "The offer ID.", "type": "string"},
+              "extendedPrice": {
+                "description": "Total price (unitPrice * quantity).",
+                "type": "number",
+                "format": "double"
+              },
+              "pageCount": {
+                "description": "Page count if applicable.",
+                "type": ["integer", "null"],
+                "format": "int32"
+              },
+              "priceClass": { "description": "The price class applied.", "type": ["string", "null"] },
+              "productIds": {
+                "description": "Product IDs if specified.",
+                "type": ["array", "null"],
+                "items": {"type": "string"}
+              },
+              "quantity": {"description": "The quantity requested.", "type": "integer", "format": "int32"},
+              "unitPrice": {"description": "Price per unit.", "type": "number", "format": "double"}
+            },
+            "required": ["offerId", "quantity", "unitPrice", "extendedPrice"]
+          }
+        },
+        "totalExtendedPrice": {
+          "description": "Sum of all extended prices.",
+          "type": "number",
+          "format": "double"
+        }
+      },
+      "required": ["customerId", "offers", "totalExtendedPrice"]
+    },
+    "failureMessages": { "type": "array", "items": {"type": "string"} },
+    "informationalMessages": { "type": "array", "items": {"type": "string"} },
+    "operationWasSuccessful": {"type": "boolean"}
+  },
+  "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
+}
diff --git a/schema/Api/OfferBroker/GetCalculateOfferPricingParameters.json b/schema/Api/OfferBroker/GetCalculateOfferPricingParameters.json
new file mode 100644
index 00000000..6b5e6cbd
--- /dev/null
+++ b/schema/Api/OfferBroker/GetCalculateOfferPricingParameters.json
@@ -0,0 +1,10 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "CorrelationId": {
+    "description": "Correlation ID. This is added by the API Management service if not present. Once added, it should be propagated to any downstream services.",
+    "in": "header",
+    "name": "x-correlation-id",
+    "schema": {"type": "string"},
+    "required": false
+  }
+}
diff --git a/schema/Api/OfferBroker/GetCalculateOfferPricingRequest.json b/schema/Api/OfferBroker/GetCalculateOfferPricingRequest.json
new file mode 100644
index 00000000..10ca2cbd
--- /dev/null
+++ b/schema/Api/OfferBroker/GetCalculateOfferPricingRequest.json
@@ -0,0 +1,48 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "GetCalculateOfferPricingRequest.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "offers": {
+      "description": "List of offers to calculate pricing for. At least one offer must be provided.",
+      "type": "array",
+      "items": {
+        "type": "object",
+        "additionalProperties": false,
+        "properties": {
+          "offerId": {
+            "description": "Offer ID. Required, must not be empty.",
+            "type": "string",
+            "minLength": 1
+          },
+          "pageCount": {
+            "description": "Page count (used only if tiers and page count tiers exist). Must be >= 1 when provided.",
+            "type": ["integer", "null"],
+            "format": "int32",
+            "minimum": 1
+          },
+          "productIds": {
+            "description": "Optional product IDs for product-list type offers.",
+            "type": ["array", "null"],
+            "items": {"type": "string"}
+          },
+          "quantity": {
+            "description": "Quantity to order. Must be >= 0.",
+            "type": "integer",
+            "format": "int32",
+            "minimum": 0
+          }
+        },
+        "required": ["offerId", "quantity"]
+      },
+      "minItems": 1
+    },
+    "priceClasses": {
+      "description": "Preferred price classes (priority order). Nullable.",
+      "type": ["array", "null"],
+      "items": {"type": "string"}
+    }
+  },
+  "required": ["offers"]
+}
diff --git a/schema/Api/OfferBroker/GetCalculateOfferPricingResponse.json b/schema/Api/OfferBroker/GetCalculateOfferPricingResponse.json
new file mode 100644
index 00000000..d8dcc652
--- /dev/null
+++ b/schema/Api/OfferBroker/GetCalculateOfferPricingResponse.json
@@ -0,0 +1,69 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "GetCalculateOfferPricingResponse.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "data": {
+      "description": "Response data containing calculated pricing.",
+      "type": ["object", "null"],
+      "additionalProperties": false,
+      "properties": {
+        "customerId": {"description": "Customer ID used for pricing calculation.", "type": "string"},
+        "offers": {
+          "description": "List of calculated offer pricing details.",
+          "type": "array",
+          "items": {
+            "type": "object",
+            "additionalProperties": false,
+            "properties": {
+              "offerId": {"description": "Offer ID.", "type": "string", "minLength": 1},
+              "extendedPrice": {
+                "description": "Extended price (unit price * quantity + surcharges).",
+                "type": "number",
+                "format": "double",
+                "minimum": 0
+              },
+              "pageCount": {
+                "description": "Page count used for pricing.",
+                "type": ["integer", "null"],
+                "format": "int32",
+                "minimum": 1
+              },
+              "priceClass": { "description": "Price class applied.", "type": ["string", "null"] },
+              "productIds": {
+                "description": "Product IDs included in pricing.",
+                "type": ["array", "null"],
+                "items": {"type": "string"}
+              },
+              "quantity": {
+                "description": "Quantity ordered.",
+                "type": "integer",
+                "format": "int32",
+                "minimum": 1
+              },
+              "unitPrice": {
+                "description": "Unit price per item.",
+                "type": "number",
+                "format": "double",
+                "minimum": 0
+              }
+            },
+            "required": ["offerId", "quantity", "unitPrice", "extendedPrice"]
+          }
+        },
+        "totalExtendedPrice": {
+          "description": "Total extended price for all offers.",
+          "type": "number",
+          "format": "double",
+          "minimum": 0
+        }
+      },
+      "required": ["customerId", "offers", "totalExtendedPrice"]
+    },
+    "failureMessages": { "type": "array", "items": {"type": "string"} },
+    "informationalMessages": { "type": "array", "items": {"type": "string"} },
+    "operationWasSuccessful": {"type": "boolean"}
+  },
+  "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
+}
diff --git a/schema/Api/OfferBroker/GetOfferInventoryResponse.json b/schema/Api/OfferBroker/GetOfferInventoryResponse.json
index 5a4e31df..8a32bbfa 100644
--- a/schema/Api/OfferBroker/GetOfferInventoryResponse.json
+++ b/schema/Api/OfferBroker/GetOfferInventoryResponse.json
@@ -17,7 +17,7 @@
           "onBackorder"        : { "type": ["integer", "null"], "format": "int32" },
           "reserved"           : { "type": "integer"          , "format": "int32" }
         },
-        "required": ["offerId", "currentOnHandQty", "currentAvailableQty", "reserved"]
+        "required": ["offerId", "currentAvailableQty", "reserved"]
       }
     },
     "failureMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Api/OfferBroker/GetOfferResponse.json b/schema/Api/OfferBroker/GetOfferResponse.json
index 5787a526..ac135341 100644
--- a/schema/Api/OfferBroker/GetOfferResponse.json
+++ b/schema/Api/OfferBroker/GetOfferResponse.json
@@ -74,9 +74,12 @@
           "minLength": 1
         },
         "offerType": {
-          "description": "Required. Must be one of: Product List, Drop Ship, Download, VDM, Omnichannel.",
+          "description": "Required. Must be one of: Direct Mail, Download, Drop Ship, Email, Omnichannel, Product List, VDM.",
           "type": "string",
-          "enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
+          "enum": [
+            "Direct Mail", "Download", "Drop Ship", "Email", "Omnichannel", "Product List",
+            "VDM"
+          ],
           "minLength": 1
         },
         "omniChannel": {
diff --git a/schema/Api/OfferBroker/GetOffersResponse.json b/schema/Api/OfferBroker/GetOffersResponse.json
index 5d52a323..30474b99 100644
--- a/schema/Api/OfferBroker/GetOffersResponse.json
+++ b/schema/Api/OfferBroker/GetOffersResponse.json
@@ -76,9 +76,12 @@
             "minLength": 1
           },
           "offerType": {
-            "description": "Required. Must be one of: Product List, Drop Ship, Download, VDM, Omnichannel.",
+            "description": "Required. Must be one of: Direct Mail, Download, Drop Ship, Email, Omnichannel, Product List, VDM.",
             "type": "string",
-            "enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
+            "enum": [
+              "Direct Mail", "Download", "Drop Ship", "Email", "Omnichannel", "Product List",
+              "VDM"
+            ],
             "minLength": 1
           },
           "omniChannel": {
diff --git a/schema/Api/OfferBroker/InternalCalculateOfferPricingParameters.json b/schema/Api/OfferBroker/InternalCalculateOfferPricingParameters.json
new file mode 100644
index 00000000..1112be99
--- /dev/null
+++ b/schema/Api/OfferBroker/InternalCalculateOfferPricingParameters.json
@@ -0,0 +1,10 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "CorrelationId": {
+    "description": "Correlation ID. This is added by the API Management service if not present. Once added, it should be propagated to any downstream services.",
+    "in": "header",
+    "name": "x-correlation-id",
+    "schema": {"type": "string", "format": "uuid"},
+    "required": false
+  }
+}
diff --git a/schema/Api/OfferBroker/InternalCalculateOfferPricingRequest.json b/schema/Api/OfferBroker/InternalCalculateOfferPricingRequest.json
new file mode 100644
index 00000000..c2aa4efe
--- /dev/null
+++ b/schema/Api/OfferBroker/InternalCalculateOfferPricingRequest.json
@@ -0,0 +1,38 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "InternalCalculateOfferPricingRequest.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "customerId": {"description": "Customer ID for pricing calculation.", "type": "string"},
+    "offers": {
+      "description": "List of offers to calculate pricing for.",
+      "type": "array",
+      "items": {
+        "type": "object",
+        "additionalProperties": false,
+        "properties": {
+          "offerId": {"description": "Offer ID to price.", "type": "string"},
+          "pageCount": {
+            "description": "Page count (used if tiers and page count tiers exist).",
+            "type": ["integer", "null"],
+            "format": "int32"
+          },
+          "productIds": {
+            "description": "Product IDs.",
+            "type": ["array", "null"],
+            "items": {"type": "string"}
+          },
+          "quantity": {"description": "Quantity to price.", "type": "integer", "format": "int32"}
+        },
+        "required": ["offerId", "quantity"]
+      }
+    },
+    "priceClasses": {
+      "description": "Preferred price classes (priority order).",
+      "type": ["array", "null"],
+      "items": {"type": "string"}
+    }
+  },
+  "required": ["customerId", "offers"]
+}
diff --git a/schema/Api/OfferBroker/InternalCalculateOfferPricingResponse.json b/schema/Api/OfferBroker/InternalCalculateOfferPricingResponse.json
new file mode 100644
index 00000000..c6b54959
--- /dev/null
+++ b/schema/Api/OfferBroker/InternalCalculateOfferPricingResponse.json
@@ -0,0 +1,69 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "InternalCalculateOfferPricingResponse.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "data": {
+      "description": "Response data containing calculated pricing.",
+      "type": ["object", "null"],
+      "additionalProperties": false,
+      "properties": {
+        "customerId": {"description": "Customer ID used for pricing calculation.", "type": "string"},
+        "offers": {
+          "description": "List of calculated offer pricing details.",
+          "type": "array",
+          "items": {
+            "type": "object",
+            "additionalProperties": false,
+            "properties": {
+              "offerId": {"description": "Offer ID.", "type": "string", "minLength": 1},
+              "extendedPrice": {
+                "description": "Extended price (unit price * quantity + surcharges).",
+                "type": "number",
+                "format": "double",
+                "minimum": 0
+              },
+              "pageCount": {
+                "description": "Page count used for pricing.",
+                "type": ["integer", "null"],
+                "format": "int32",
+                "minimum": 1
+              },
+              "priceClass": { "description": "Price class applied.", "type": ["string", "null"] },
+              "productIds": {
+                "description": "Product IDs included in pricing.",
+                "type": ["array", "null"],
+                "items": {"type": "string"}
+              },
+              "quantity": {
+                "description": "Quantity ordered.",
+                "type": "integer",
+                "format": "int32",
+                "minimum": 1
+              },
+              "unitPrice": {
+                "description": "Unit price per item.",
+                "type": "number",
+                "format": "double",
+                "minimum": 0
+              }
+            },
+            "required": ["offerId", "quantity", "unitPrice", "extendedPrice"]
+          }
+        },
+        "totalExtendedPrice": {
+          "description": "Total extended price for all offers.",
+          "type": "number",
+          "format": "double",
+          "minimum": 0
+        }
+      },
+      "required": ["customerId", "offers", "totalExtendedPrice"]
+    },
+    "failureMessages": { "type": "array", "items": {"type": "string"} },
+    "informationalMessages": { "type": "array", "items": {"type": "string"} },
+    "operationWasSuccessful": {"type": "boolean"}
+  },
+  "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
+}
diff --git a/schema/Api/OfferBroker/InternalGetOffersResponse.json b/schema/Api/OfferBroker/InternalGetOffersResponse.json
index 3fa7b436..8c00cdfb 100644
--- a/schema/Api/OfferBroker/InternalGetOffersResponse.json
+++ b/schema/Api/OfferBroker/InternalGetOffersResponse.json
@@ -76,9 +76,12 @@
             "minLength": 1
           },
           "offerType": {
-            "description": "Required. Must be one of: Product List, Drop Ship, Download, VDM, Omnichannel.",
+            "description": "Required. Must be one of: Direct Mail, Download, Drop Ship, Email, Omnichannel, Product List, VDM.",
             "type": "string",
-            "enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
+            "enum": [
+              "Direct Mail", "Download", "Drop Ship", "Email", "Omnichannel", "Product List",
+              "VDM"
+            ],
             "minLength": 1
           },
           "omniChannel": {
diff --git a/schema/Api/OfferBroker/UpdateOfferRequest.json b/schema/Api/OfferBroker/UpdateOfferRequest.json
index e5bf2079..ad6b7638 100644
--- a/schema/Api/OfferBroker/UpdateOfferRequest.json
+++ b/schema/Api/OfferBroker/UpdateOfferRequest.json
@@ -15,7 +15,7 @@
   "properties": {
     "offerId": { "type": ["string", "null"] },
     "omsOfferId": {
-      "description": "Unique offer identifier. Must not be empty.",
+      "description": "Unique offer identifier as assigned by the Offer Management System; used by the Integration Broker for cross-system reference.",
       "type": ["string", "null"]
     },
     "xmPieTemplateId": { "type": ["string", "null"] },
@@ -79,9 +79,12 @@
       "minLength": 1
     },
     "offerType": {
-      "description": "Required. Must be one of: Product List, Drop Ship, Download, VDM, Omnichannel.",
+      "description": "Required. Must be one of: Direct Mail, Download, Drop Ship, Email, Omnichannel, Product List, VDM.",
       "type": "string",
-      "enum": ["Product List", "Drop Ship", "Download", "VDM", "Omnichannel"],
+      "enum": [
+        "Direct Mail", "Download", "Drop Ship", "Email", "Omnichannel", "Product List",
+        "VDM"
+      ],
       "minLength": 1
     },
     "omniChannel": {
@@ -150,7 +153,7 @@
         "type": "object",
         "additionalProperties": false,
         "properties": {
-          "id": {"type": "string"},
+          "id": { "type": ["string", "null"] },
           "products": {
             "type": ["array", "null"],
             "items": {
@@ -165,8 +168,7 @@
             },
             "minItems": 1
           }
-        },
-        "required": ["id"]
+        }
       }
     },
     "requiresApproval": { "type": ["boolean", "null"] },
@@ -181,5 +183,5 @@
     "unitOfMeasure": { "type": ["string", "null"] },
     "weightInPounds": { "type": ["number", "null"], "format": "float" }
   },
-  "required": ["number", "offerType", "schemaVersion"]
+  "required": ["number", "offerType"]
 }
diff --git a/schema/Api/OrderBroker/InternalNewOrderRequest.json b/schema/Api/OrderBroker/InternalNewOrderRequest.json
index 68c3a414..f8ff1cea 100644
--- a/schema/Api/OrderBroker/InternalNewOrderRequest.json
+++ b/schema/Api/OrderBroker/InternalNewOrderRequest.json
@@ -204,7 +204,7 @@
                 "components": {
                   "type": ["array", "null"],
                   "items": {
-                    "description": "Order.LineItems.Products level component details",
+                    "description": "Product component details",
                     "type": "object",
                     "additionalProperties": false,
                     "properties": {
diff --git a/schema/Api/OrderBroker/InternalNewOrderResponse.json b/schema/Api/OrderBroker/InternalNewOrderResponse.json
new file mode 100644
index 00000000..caed1c58
--- /dev/null
+++ b/schema/Api/OrderBroker/InternalNewOrderResponse.json
@@ -0,0 +1,18 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "InternalNewOrderResponse.json",
+  "description": "Response returned from the internal new order endpoint",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "data": {
+      "type": ["object", "null"],
+      "additionalProperties": false,
+      "properties": { "otpOrderId": {"description": "Order identifier", "type": "string"} }
+    },
+    "failureMessages": { "type": "array", "items": {"type": "string"} },
+    "informationalMessages": { "type": "array", "items": {"type": "string"} },
+    "operationWasSuccessful": {"type": "boolean"}
+  },
+  "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
+}
diff --git a/schema/Api/OrderBroker/InternalUpdateOrderParameters.json b/schema/Api/OrderBroker/InternalUpdateOrderParameters.json
new file mode 100644
index 00000000..b6c6720b
--- /dev/null
+++ b/schema/Api/OrderBroker/InternalUpdateOrderParameters.json
@@ -0,0 +1,17 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "CorrelationId": {
+    "description": "Correlation ID. This is added by the API Management service if not present. Once added, it should be propagated to any downstream services.",
+    "in": "header",
+    "name": "x-correlation-id",
+    "schema": {"type": "string", "format": "uuid"},
+    "required": false
+  },
+  "UserId": {
+    "description": "User ID of the person making the update request. This header is required for audit and authorization purposes.",
+    "in": "header",
+    "name": "x-user-id",
+    "schema": {"type": "string"},
+    "required": true
+  }
+}
diff --git a/schema/Api/OrderBroker/NewOrderRequest.json b/schema/Api/OrderBroker/NewOrderRequest.json
index 7cca0185..d8a2580b 100644
--- a/schema/Api/OrderBroker/NewOrderRequest.json
+++ b/schema/Api/OrderBroker/NewOrderRequest.json
@@ -3,6 +3,35 @@
   "$id": "NewOrderRequest.json",
   "description": "Details for Order JSON schema. Conditional constraints (enforced in backend): If defaultBillToKey, defaultOrderedByKey, or defaultShipToKey are null, corresponding keys must be set on each line item. If defaultBillToKey, defaultOrderedByKey, or defaultShipToKey are not null, they must match a key in billTos, orderedBys, or shipTos respectively. OfferLineNumber, productLineNumber, and componentLineNumber values must be unique within their collections if provided.",
   "type": "object",
+  "allOf": [
+    {
+      "description": "If defaultShipToKey is null or not provided, each line item must specify a shipToKey.",
+      "if": {
+        "anyOf": [
+          { "properties": { "defaultShipToKey": {"type": "null"} } },
+          { "not": { "required": ["defaultShipToKey"] } }
+        ]
+      },
+      "then": {
+        "properties": {
+          "lineItems": {
+            "items": { "properties": { "shipToKey": {"type": "string"} }, "required": ["shipToKey"] }
+          }
+        }
+      }
+    },
+    {
+      "description": "Each line item must have an offerLineNumber.",
+      "properties": {
+        "lineItems": {
+          "items": {
+            "properties": { "offerLineNumber": {"type": "string", "minLength": 1} },
+            "required": ["offerLineNumber"]
+          }
+        }
+      }
+    }
+  ],
   "additionalProperties": false,
   "properties": {
     "orderId": {
@@ -458,111 +487,6 @@
     }
   },
   "required": ["orderId", "createDateTime", "lineItems", "billTos", "shipTos"],
-  "allOf": [
-    {
-      "description": "Either a defaultBillToKey must be provided, or the billTos array must be populated.",
-      "oneOf": [
-        {
-          "properties": { "defaultBillToKey": {"type": "string"} },
-          "required": ["defaultBillToKey"]
-        },
-        {
-          "properties": { "billTos": {"type": "array", "minItems": 1} },
-          "required": ["billTos"]
-        }
-      ]
-    },
-    {
-      "description": "Either a defaultShipToKey must be provided, or the shipTos array must be populated.",
-      "oneOf": [
-        {
-          "properties": { "defaultShipToKey": {"type": "string"} },
-          "required": ["defaultShipToKey"]
-        },
-        {
-          "properties": { "shipTos": {"type": "array", "minItems": 1} },
-          "required": ["shipTos"]
-        }
-      ]
-    },
-    {
-      "description": "If a defaultBillToKey is not provided at the root, each line item must specify a billToKey.",
-      "oneOf": [
-        {
-          "properties": { "defaultBillToKey": {"type": "string"} },
-          "required": ["defaultBillToKey"]
-        },
-        {
-          "properties": {
-            "lineItems": {
-              "type": ["array", "null"],
-              "items": {
-                "type": "object",
-                "properties": { "billToKey": {"type": "string"} },
-                "required": ["billToKey"]
-              }
-            }
-          }
-        }
-      ]
-    },
-    {
-      "description": "If a defaultShipToKey is not provided at the root, each line item must specify a shipToKey.",
-      "oneOf": [
-        {
-          "properties": { "defaultShipToKey": {"type": "string"} },
-          "required": ["defaultShipToKey"]
-        },
-        {
-          "properties": {
-            "lineItems": {
-              "type": ["array", "null"],
-              "items": { "properties": { "shipToKey": {"type": "string"} }, "required": ["shipToKey"] }
-            }
-          }
-        }
-      ]
-    },
-    {
-      "description": "If a defaultOrderedByKey is not provided at the root, each line item must specify an orderedByKey.",
-      "oneOf": [
-        {
-          "properties": { "defaultOrderedByKey": {"type": "string"} },
-          "required": ["defaultOrderedByKey"]
-        },
-        {
-          "properties": {
-            "lineItems": {
-              "type": ["array", "null"],
-              "items": {
-                "properties": { "orderedByKey": {"type": "string"} },
-                "required": ["orderedByKey"]
-              }
-            }
-          }
-        },
-        {
-          "properties": {
-            "defaultOrderedByKey": {"type": "null"},
-            "orderedBys": { "oneOf": [ {"type": "null"}, {"type": "array", "maxItems": 0} ] }
-          },
-          "required": ["defaultOrderedByKey", "orderedBys"]
-        }
-      ]
-    },
-    {
-      "properties": {
-        "lineItems": {
-          "type": ["array", "null"],
-          "items": {
-            "type": "object",
-            "properties": { "offerLineNumber": {"type": "string", "minLength": 1} },
-            "required": ["offerLineNumber"]
-          }
-        }
-      }
-    }
-  ],
   "examples": [
     {
       "orderId": "7-mkkutsde-3-K-5649-4005-64",
diff --git a/schema/Api/OrderBroker/NewOrderResponse.json b/schema/Api/OrderBroker/NewOrderResponse.json
new file mode 100644
index 00000000..a46f5bba
--- /dev/null
+++ b/schema/Api/OrderBroker/NewOrderResponse.json
@@ -0,0 +1,18 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "NewOrderResponse.json",
+  "description": "Response returned from the new order endpoint",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "data": {
+      "type": ["object", "null"],
+      "additionalProperties": false,
+      "properties": { "otpOrderId": {"description": "Order identifier", "type": "string"} }
+    },
+    "failureMessages": { "type": "array", "items": {"type": "string"} },
+    "informationalMessages": { "type": "array", "items": {"type": "string"} },
+    "operationWasSuccessful": {"type": "boolean"}
+  },
+  "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
+}
diff --git a/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json b/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
index e311185c..e8d89f49 100644
--- a/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
+++ b/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
@@ -72,9 +72,9 @@
       "items": {
         "type": "object",
         "properties": {
-          "fulfillmentSystemProductId": { "type": ["string", "null"] },
-          "productId": {"type": "string"},
-          "productLineId": { "type": ["string", "null"] },
+          "fulfillmentSystemProductId": {"type": "string"},
+          "productId": { "type": ["string", "null"] },
+          "productLineId": {"type": "string"},
           "associatedFileName": { "type": ["string", "null"] },
           "comment": { "type": ["string", "null"] },
           "pageCount": { "type": ["integer", "null"], "format": "int32" },
@@ -87,7 +87,7 @@
           },
           "status": { "type": ["string", "null"] }
         },
-        "required": ["productId", "productLineId", "fulfillmentSystemProductId"]
+        "required": ["productLineId", "fulfillmentSystemProductId"]
       }
     },
     "rushOrder": { "type": ["boolean", "null"] },
@@ -181,9 +181,10 @@
                   "items": {
                     "type": "object",
                     "properties": {
-                      "productLineId": { "type": ["string", "null"]                     },
-                      "shipQuantity" : { "type": ["number", "null"], "format": "double" }
-                    }
+                      "productLineId": {"type": "string"},
+                      "shipQuantity": {"type": "number", "exclusiveMinimum": 0, "format": "double"}
+                    },
+                    "required": ["productLineId", "shipQuantity"]
                   }
                 },
                 "trackingNumber": {"type": "string"}
diff --git a/schema/Api/OrderBroker/UpdateOrderRequest.json b/schema/Api/OrderBroker/UpdateOrderRequest.json
index 2bfa717e..7a0971d9 100644
--- a/schema/Api/OrderBroker/UpdateOrderRequest.json
+++ b/schema/Api/OrderBroker/UpdateOrderRequest.json
@@ -338,8 +338,5 @@
     },
     "updateDateTime": { "description": "Update date time", "type": ["string", "null"] }
   },
-  "required": [
-    "sourceSystemCustomerId", "sourceSystemId", "orderId", "shippingHandlingTax",
-    "billTos", "shipTos"
-  ]
+  "required": ["orderId", "shippingHandlingTax", "billTos", "shipTos"]
 }
diff --git a/schema/Api/ProductBroker/GetAllProductsParameters.json b/schema/Api/ProductBroker/GetAllProductsParameters.json
index 6b5e6cbd..f42aadd9 100644
--- a/schema/Api/ProductBroker/GetAllProductsParameters.json
+++ b/schema/Api/ProductBroker/GetAllProductsParameters.json
@@ -1,6 +1,6 @@
 {
   "$schema": "http://json-schema.org/draft-07/schema#",
-  "CorrelationId": {
+  "correlationId": {
     "description": "Correlation ID. This is added by the API Management service if not present. Once added, it should be propagated to any downstream services.",
     "in": "header",
     "name": "x-correlation-id",
diff --git a/schema/Api/ProductBroker/GetAllProductsResponse.json b/schema/Api/ProductBroker/GetAllProductsResponse.json
index 91bb7a0c..04da531e 100644
--- a/schema/Api/ProductBroker/GetAllProductsResponse.json
+++ b/schema/Api/ProductBroker/GetAllProductsResponse.json
@@ -10,30 +10,32 @@
         "type": "object",
         "additionalProperties": false,
         "properties": {
-          "ProductId": {
+          "billingEntityId": {
+            "description": "Billing entity ID associated with the product",
+            "type": ["string", "null"]
+          },
+          "productId": {
             "description": "Unique ID for component product within Integration Broker",
             "type": "string"
           },
-          "Color": { "description": "Color of product", "type": ["string", "null"] },
-          "LastUpdateDateTimeUtc": {
+          "lastUpdateDateTimeUtc": {
             "description": "Date and time product was last updated in product management system (system where ordered line item products will be managed)",
             "type": "string"
           },
-          "ProductDescription": {
+          "productDescription": {
             "description": "Description for component product within product management system (system where ordered line item products will be managed)",
             "type": ["string", "null"]
           },
-          "ProductNumber": {
+          "productNumber": {
             "description": "Name for component product within product management system (system where ordered line item products will be managed)",
             "type": "string"
           },
-          "ProductOwner": { "description": "Owner of component product", "type": ["string", "null"] },
-          "ProductType": {"description": "Type of the product", "type": "string"},
-          "Size": { "description": "Size of component product", "type": ["string", "null"] },
-          "Status": {"description": "Current status of the product", "type": "string"},
-          "UnitOfMeasure": { "description": "Unit of measure for the product", "type": ["string", "null"] }
+          "productOwner": { "description": "Owner of component product", "type": ["string", "null"] },
+          "productType": {"description": "Type of the product", "type": "string"},
+          "status": {"description": "Current status of the product", "type": "string"},
+          "unitOfMeasure": { "description": "Unit of measure for the product", "type": ["string", "null"] }
         },
-        "required": ["ProductId", "ProductNumber", "ProductType", "Status", "LastUpdateDateTimeUtc"]
+        "required": ["productId", "productNumber", "productType", "status", "lastUpdateDateTimeUtc"]
       }
     },
     "failureMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Api/ProductBroker/GetProductInventoryParameters.json b/schema/Api/ProductBroker/GetProductInventoryParameters.json
index bcd83fc5..ea7249f1 100644
--- a/schema/Api/ProductBroker/GetProductInventoryParameters.json
+++ b/schema/Api/ProductBroker/GetProductInventoryParameters.json
@@ -1,13 +1,13 @@
 {
   "$schema": "http://json-schema.org/draft-07/schema#",
-  "CorrelationId": {
+  "correlationId": {
     "description": "Correlation ID. This is added by the API Management service if not present. Once added, it should be propagated to any downstream services.",
     "in": "header",
     "name": "x-correlation-id",
     "schema": {"type": "string"},
     "required": false
   },
-  "ProductId": {
+  "productId": {
     "in": "path",
     "name": "productId",
     "schema": {"type": "string"},
diff --git a/schema/Api/ProductBroker/GetProductInventoryResponse.json b/schema/Api/ProductBroker/GetProductInventoryResponse.json
index 209ca97d..3aefd473 100644
--- a/schema/Api/ProductBroker/GetProductInventoryResponse.json
+++ b/schema/Api/ProductBroker/GetProductInventoryResponse.json
@@ -8,37 +8,44 @@
       "type": ["object", "null"],
       "additionalProperties": false,
       "properties": {
-        "ProductId": {
+        "billingEntityId": {
+          "description": "Billing entity ID associated with the product inventory",
+          "type": "string"
+        },
+        "productId": {
           "description": "Unique ID for component product within Integration Broker",
           "type": "string"
         },
-        "CurrentAvailableQty": {
+        "currentAvailableQty": {
           "description": "Current available quantity for the product",
           "type": "integer",
           "format": "int32"
         },
-        "CurrentOnHandQty": {
+        "currentOnHandQty": {
           "description": "Current quantity on hand for the product",
           "type": "integer",
           "format": "int32"
         },
-        "Expected": {
+        "expected": {
           "description": "Expected quantity for the product",
           "type": ["integer", "null"],
           "format": "int32"
         },
-        "OnBackorder": {
+        "onBackorder": {
           "description": "Quantity on backorder for the product",
           "type": ["integer", "null"],
           "format": "int32"
         },
-        "Reserved": {
+        "reserved": {
           "description": "Quantity reserved for the product",
           "type": "integer",
           "format": "int32"
         }
       },
-      "required": ["ProductId", "CurrentOnHandQty", "CurrentAvailableQty", "Reserved"]
+      "required": [
+        "productId", "currentOnHandQty", "currentAvailableQty", "reserved",
+        "billingEntityId"
+      ]
     },
     "failureMessages": { "type": "array", "items": {"type": "string"} },
     "informationalMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Api/ProductBroker/GetProductsInventoryParameters.json b/schema/Api/ProductBroker/GetProductsInventoryParameters.json
index b5de1105..00b7c44f 100644
--- a/schema/Api/ProductBroker/GetProductsInventoryParameters.json
+++ b/schema/Api/ProductBroker/GetProductsInventoryParameters.json
@@ -1,11 +1,11 @@
 {
   "$schema": "http://json-schema.org/draft-07/schema#",
-  "CorrelationId": {
+  "correlationId": {
     "description": "Correlation ID. This is added by the API Management service if not present. Once added, it should be propagated to any downstream services.",
     "in": "header",
     "name": "x-correlation-id",
     "schema": {"type": "string"},
     "required": false
   },
-  "ProductIds": { "in": "query", "name": "productIds", "schema": {"type": "string"} }
+  "productIds": { "in": "query", "name": "productIds", "schema": {"type": "string"} }
 }
diff --git a/schema/Api/ProductBroker/GetProductsInventoryResponse.json b/schema/Api/ProductBroker/GetProductsInventoryResponse.json
index 5d69b754..e10beeb2 100644
--- a/schema/Api/ProductBroker/GetProductsInventoryResponse.json
+++ b/schema/Api/ProductBroker/GetProductsInventoryResponse.json
@@ -10,37 +10,44 @@
         "type": "object",
         "additionalProperties": false,
         "properties": {
-          "ProductId": {
+          "billingEntityId": {
+            "description": "Billing entity ID associated with the product inventory",
+            "type": "string"
+          },
+          "productId": {
             "description": "Unique ID for component product within Integration Broker",
             "type": "string"
           },
-          "CurrentAvailableQty": {
+          "currentAvailableQty": {
             "description": "Current available quantity for the product",
             "type": "integer",
             "format": "int32"
           },
-          "CurrentOnHandQty": {
+          "currentOnHandQty": {
             "description": "Current quantity on hand for the product",
             "type": "integer",
             "format": "int32"
           },
-          "Expected": {
+          "expected": {
             "description": "Expected quantity for the product",
             "type": ["integer", "null"],
             "format": "int32"
           },
-          "OnBackorder": {
+          "onBackorder": {
             "description": "Quantity on backorder for the product",
             "type": ["integer", "null"],
             "format": "int32"
           },
-          "Reserved": {
+          "reserved": {
             "description": "Quantity reserved for the product",
             "type": "integer",
             "format": "int32"
           }
         },
-        "required": ["ProductId", "CurrentOnHandQty", "CurrentAvailableQty", "Reserved"]
+        "required": [
+          "productId", "currentOnHandQty", "currentAvailableQty", "reserved",
+          "billingEntityId"
+        ]
       }
     },
     "failureMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Api/ProductBroker/GetProductsParameters.json b/schema/Api/ProductBroker/GetProductsParameters.json
new file mode 100644
index 00000000..6bf74981
--- /dev/null
+++ b/schema/Api/ProductBroker/GetProductsParameters.json
@@ -0,0 +1,17 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "correlationId": {
+    "description": "Correlation ID. This is added by the API Management service if not present. Once added, it should be propagated to any downstream services.",
+    "in": "header",
+    "name": "x-correlation-id",
+    "schema": {"type": "string"},
+    "required": false
+  },
+  "productIds": {
+    "description": "Array of product IDs to retrieve. Each ID should be in format {fulfillmentSystemId}-{fulfillmentSystemProductId}.",
+    "in": "query",
+    "name": "productIds",
+    "schema": {"type": "string"},
+    "required": true
+  }
+}
diff --git a/schema/Api/ProductBroker/GetProductsResponse.json b/schema/Api/ProductBroker/GetProductsResponse.json
new file mode 100644
index 00000000..f512f87b
--- /dev/null
+++ b/schema/Api/ProductBroker/GetProductsResponse.json
@@ -0,0 +1,46 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "GetProductsResponse.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "data": {
+      "type": ["array", "null"],
+      "items": {
+        "type": "object",
+        "additionalProperties": false,
+        "properties": {
+          "billingEntityId": {
+            "description": "Billing entity ID associated with the product",
+            "type": ["string", "null"]
+          },
+          "productId": {
+            "description": "Unique ID for component product within Integration Broker",
+            "type": "string"
+          },
+          "lastUpdateDateTimeUtc": {
+            "description": "Date and time product was last updated in product management system (system where ordered line item products will be managed)",
+            "type": "string"
+          },
+          "productDescription": {
+            "description": "Description for component product within product management system (system where ordered line item products will be managed)",
+            "type": ["string", "null"]
+          },
+          "productNumber": {
+            "description": "Name for component product within product management system (system where ordered line item products will be managed)",
+            "type": "string"
+          },
+          "productOwner": { "description": "Owner of component product", "type": ["string", "null"] },
+          "productType": {"description": "Type of the product", "type": "string"},
+          "status": {"description": "Current status of the product", "type": "string"},
+          "unitOfMeasure": { "description": "Unit of measure for the product", "type": ["string", "null"] }
+        },
+        "required": ["productId", "productNumber", "productType", "status", "lastUpdateDateTimeUtc"]
+      }
+    },
+    "failureMessages": { "type": "array", "items": {"type": "string"} },
+    "informationalMessages": { "type": "array", "items": {"type": "string"} },
+    "operationWasSuccessful": {"type": "boolean"}
+  },
+  "required": ["failureMessages", "informationalMessages", "operationWasSuccessful", "data"]
+}
diff --git a/schema/Event/Customer/Customer.json b/schema/Event/Customer/Customer.json
index 9fddd7b7..a2e023b0 100644
--- a/schema/Event/Customer/Customer.json
+++ b/schema/Event/Customer/Customer.json
@@ -80,6 +80,7 @@
       "required": ["Address1", "City", "Country", "PostalCode", "StateProvince"]
     },
     "ContactEmailAddress": { "description": "Contact email address", "type": ["string", "null"] },
+    "DirectMailProvider": { "description": "Direct mail provider", "type": ["string", "null"] },
     "DoValidateOrderPrice": {"description": "Whether to validate order price", "type": "boolean"},
     "EmailNotificationSubscriptions": {
       "description": "Email notification subscriptions",
@@ -97,7 +98,10 @@
         "required": ["EmailNotificationTemplateId", "EmailAddresses"]
       }
     },
+    "EmailServiceProvider": { "description": "Email service provider", "type": ["string", "null"] },
+    "InheritParentOffers": {"description": "Whether to inherit parent offers", "type": "boolean"},
     "InvoiceEmailAddress": { "description": "Invoice email address", "type": ["string", "null"] },
+    "MailingFileLocation": { "description": "Mailing file location", "type": ["string", "null"] },
     "Name": {"description": "Customer name", "type": "string"},
     "OfferRevisionDelimiter": { "description": "Offer revision delimiter", "type": ["string", "null"] },
     "Parent": {
@@ -154,7 +158,8 @@
       }
     },
     "Subsidiary": { "description": "Subsidiary", "type": ["string", "null"] },
+    "UseDefaultBillingEntity": {"description": "Whether to use default billing entity", "type": "boolean"},
     "Website": { "description": "Website", "type": ["string", "null"] }
   },
-  "required": ["Id", "Name", "BillToCodeRequiredOnOrder", "DoValidateOrderPrice"]
+  "required": ["Id", "Name"]
 }