Skip to content

Schema Changes - 2026-09-08

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

Changes

diff --git a/schema/Api/ProductBroker/GetAllProductsResponse.json b/schema/Api/ProductBroker/GetAllProductsResponse.json
index cc4c337..49e94e6 100644
--- a/schema/Api/ProductBroker/GetAllProductsResponse.json
+++ b/schema/Api/ProductBroker/GetAllProductsResponse.json
@@ -18,9 +18,36 @@
             "description": "Unique ID for component product within Integration Broker",
             "type": "string"
           },
+          "customerPartNumber": {
+            "description": "Customer's part number for the product",
+            "type": ["string", "null"]
+          },
+          "defaultLocation": {
+            "description": "Default warehouse location for the product",
+            "type": ["string", "null"]
+          },
+          "documentFilePaths": {
+            "description": "Static document file paths associated with the product; empty array when none",
+            "type": "array",
+            "items": {"type": "string"}
+          },
+          "itemAvgLeadTime": { "description": "Average lead time for the item", "type": ["integer", "null"] },
+          "language": {
+            "description": "Language associated with the product",
+            "type": ["string", "null"]
+          },
+          "lastCost": {
+            "description": "Last cost of the product",
+            "type": ["number", "null"],
+            "format": "decimal"
+          },
           "lastUpdateDateTimeUtc": {
-            "description": "Date and time product was last updated in product management system (system where ordered line item products will be managed)",
-            "type": "string"
+            "description": "Date and time product metadata was last updated in the product management system. Always null today; reserved for NEX-1411 to populate with an honest metadata-update timestamp",
+            "type": ["string", "null"]
+          },
+          "organizationOwned": {
+            "description": "Raw ownership flag from the fulfillment system; true when OTP-owned, null when unconfirmed",
+            "type": ["boolean", "null"]
           },
           "productDescription": {
             "description": "Description for component product within product management system (system where ordered line item products will be managed)",
@@ -30,9 +57,15 @@
             "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"] },
+          "productOwner": {
+            "description": "Derived owner of component product: 'OTP', 'Customer', or null when unconfirmed",
+            "type": ["string", "null"]
+          },
           "productType": {"description": "Type of the product", "type": "string"},
-          "status": {"description": "Current status of the product", "type": "string"},
+          "status": {
+            "description": "Current status of the product. Null on the GetAllProducts feed, which does not carry item status",
+            "type": ["string", "null"]
+          },
           "unitOfMeasure": { "description": "Unit of measure for the product", "type": ["string", "null"] },
           "weight": {
             "description": "Maximum weight of the product in pounds",
@@ -40,7 +73,7 @@
             "format": "decimal"
           }
         },
-        "required": ["productId", "productNumber", "productType", "status", "lastUpdateDateTimeUtc"]
+        "required": ["productId", "productNumber", "productType"]
       }
     },
     "failureMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Api/ProductBroker/GetProductsResponse.json b/schema/Api/ProductBroker/GetProductsResponse.json
index 2364c7b..e97612c 100644
--- a/schema/Api/ProductBroker/GetProductsResponse.json
+++ b/schema/Api/ProductBroker/GetProductsResponse.json
@@ -18,9 +18,36 @@
             "description": "Unique ID for component product within Integration Broker",
             "type": "string"
           },
+          "customerPartNumber": {
+            "description": "Customer's part number for the product",
+            "type": ["string", "null"]
+          },
+          "defaultLocation": {
+            "description": "Default warehouse location for the product",
+            "type": ["string", "null"]
+          },
+          "documentFilePaths": {
+            "description": "Static document file paths associated with the product; empty array when none",
+            "type": "array",
+            "items": {"type": "string"}
+          },
+          "itemAvgLeadTime": { "description": "Average lead time for the item", "type": ["integer", "null"] },
+          "language": {
+            "description": "Language associated with the product",
+            "type": ["string", "null"]
+          },
+          "lastCost": {
+            "description": "Last cost of the product",
+            "type": ["number", "null"],
+            "format": "decimal"
+          },
           "lastUpdateDateTimeUtc": {
-            "description": "Date and time product was last updated in product management system (system where ordered line item products will be managed)",
-            "type": "string"
+            "description": "Date and time product metadata was last updated in the product management system. Always null today; reserved for NEX-1411 to populate with an honest metadata-update timestamp",
+            "type": ["string", "null"]
+          },
+          "organizationOwned": {
+            "description": "Raw ownership flag from the fulfillment system; true when OTP-owned, null when unconfirmed",
+            "type": ["boolean", "null"]
           },
           "productDescription": {
             "description": "Description for component product within product management system (system where ordered line item products will be managed)",
@@ -30,9 +57,15 @@
             "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"] },
+          "productOwner": {
+            "description": "Derived owner of component product: 'OTP', 'Customer', or null when unconfirmed",
+            "type": ["string", "null"]
+          },
           "productType": {"description": "Type of the product", "type": "string"},
-          "status": {"description": "Current status of the product", "type": "string"},
+          "status": {
+            "description": "Current status of the product. Null on the GetAllProducts feed, which does not carry item status",
+            "type": ["string", "null"]
+          },
           "unitOfMeasure": { "description": "Unit of measure for the product", "type": ["string", "null"] },
           "weight": {
             "description": "Maximum weight of the product in pounds",
@@ -40,7 +73,7 @@
             "format": "decimal"
           }
         },
-        "required": ["productId", "productNumber", "productType", "status", "lastUpdateDateTimeUtc"]
+        "required": ["productId", "productNumber", "productType"]
       }
     },
     "failureMessages": { "type": "array", "items": {"type": "string"} },
diff --git a/schema/Event/FulfillmentOrder/FulfillmentOrder.json b/schema/Event/FulfillmentOrder/FulfillmentOrder.json
index dda2d10..cf9c5b6 100644
--- a/schema/Event/FulfillmentOrder/FulfillmentOrder.json
+++ b/schema/Event/FulfillmentOrder/FulfillmentOrder.json
@@ -82,6 +82,10 @@
       "type": ["array", "null"],
       "items": {"type": "string"}
     },
+    "OrderReductionAmount": {
+      "description": "Customer-owned merchandise price plus line tax withheld for this Slingshot submission attempt",
+      "type": ["number", "null"]
+    },
     "OrderVariables": {
       "description": "Order variables tied to the fulfillment order in JSON format",
       "type": ["string", "null"]
@@ -143,7 +147,11 @@
           },
           "QuantityOrdered": { "description": "Quantity ordered", "type": ["integer", "null"] },
           "ShipToKey": { "description": "Ship to key for the product", "type": ["string", "null"] },
-          "Status": { "description": "Status of the product", "type": ["string", "null"] }
+          "Status": { "description": "Status of the product", "type": ["string", "null"] },
+          "TaxAmount": {
+            "description": "Original order line merchandise tax copied onto the fulfillment order product",
+            "type": ["number", "null"]
+          }
         }
       }
     },
diff --git a/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json b/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
index f49eaef..7ec2952 100644
--- a/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
+++ b/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
@@ -72,7 +72,7 @@
           "EventName": "Fulfillment Order Updated",
           "EventNameValuePairs": null,
           "EventPublisherApp": "VeraCore Order Event Publisher",
-          "EventSchemaVersion": "0.9",
+          "EventSchemaVersion": "0.10",
           "EventSource": "VeraCore",
           "FulfillmentOrder": {
             "FulfillmentOrderId": "6-mzvanhki-4-C-5606-0046-03",