Skip to content

Schema Changes - 2025-04-21

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

Changes

diff --git a/schema/Api/CustomerBroker/GetCustomerIdParameters.json b/schema/Api/CustomerBroker/GetCustomerIdParameters.json
new file mode 100644
index 0000000..714aab1
--- /dev/null
+++ b/schema/Api/CustomerBroker/GetCustomerIdParameters.json
@@ -0,0 +1,11 @@
+{
+  "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
+  }
+}
\ No newline at end of file
diff --git a/schema/Api/CustomerBroker/GetCustomerIdResponse.json b/schema/Api/CustomerBroker/GetCustomerIdResponse.json
index 288129a..aa16557 100644
--- a/schema/Api/CustomerBroker/GetCustomerIdResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerIdResponse.json
@@ -1,7 +1,6 @@
 {
-  "$schema": "https://json-schema.org/draft-07/schema#",
+  "$schema": "http://json-schema.org/draft-07/schema#",
   "$id": "GetCustomerIdResponse.json",
-  "type": "object",
   "allOf": [
     {
       "$ref": "../../Common/ApiResponseBase.json"
@@ -10,39 +9,9 @@
       "type": "object",
       "properties": {
         "data": {
-          "type": [
-            "object",
-            "null"
-          ],
-          "additionalProperties": false,
-          "properties": {
-            "CustomerId": {
-              "type": "string"
-            }
-          },
-          "required": [
-            "CustomerId"
-          ]
+          "$ref": "parts/CustomerId.json"
         }
       }
     }
-  ],
-  "examples": [
-    {
-      "data": {
-        "CustomerId": "CUST-020"
-      },
-      "failureMessages": [],
-      "informationalMessages": [],
-      "operationWasSuccessful": true
-    },
-    {
-      "data": null,
-      "failureMessages": [
-        "Customer with ID CUST-022 not found."
-      ],
-      "informationalMessages": [],
-      "operationWasSuccessful": false
-    }
   ]
 }
diff --git a/schema/Api/CustomerBroker/GetCustomerParameters.json b/schema/Api/CustomerBroker/GetCustomerParameters.json
new file mode 100644
index 0000000..7e825ce
--- /dev/null
+++ b/schema/Api/CustomerBroker/GetCustomerParameters.json
@@ -0,0 +1,19 @@
+{
+  "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
+  },
+  "CustomerId": {
+    "in": "path",
+    "name": "customerId",
+    "schema": {
+      "type": "string"
+    },
+    "required": true
+  }
+}
\ No newline at end of file
diff --git a/schema/Api/CustomerBroker/GetCustomerResponse.json b/schema/Api/CustomerBroker/GetCustomerResponse.json
index 5edf6cd..05b9c57 100644
--- a/schema/Api/CustomerBroker/GetCustomerResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerResponse.json
@@ -1,7 +1,6 @@
 {
-  "$schema": "https://json-schema.org/draft-07/schema#",
+  "$schema": "http://json-schema.org/draft-07/schema#",
   "$id": "GetCustomerResponse.json",
-  "type": "object",
   "allOf": [
     {
       "$ref": "../../Common/ApiResponseBase.json"
@@ -10,137 +9,9 @@
       "type": "object",
       "properties": {
         "data": {
-          "type": [
-            "object",
-            "null"
-          ],
-          "items": {
-            "$ref": "parts/Customer.json"
-          }
+          "$ref": "parts/Customer.json"
         }
       }
     }
-  ],
-  "examples": [
-    {
-      "data": {
-        "DefaultWarehouseId": null,
-        "Id": "CUST-002",
-        "BrokerScopes": [
-          "JobBroker",
-          "OrderTrackingBroker",
-          "OrderBroker",
-          "OfferBroker",
-          "ProductBroker"
-        ],
-        "ContactAddress": {
-          "ClientId": 2,
-          "Id": 1,
-          "Address1": "123 Main St",
-          "Address2": "Suite 101",
-          "Address3": null,
-          "AddressType": "Contact",
-          "City": "New York",
-          "Company": "Acme Corporation",
-          "Country": "USA",
-          "FaxNumber": "212-555-0100",
-          "Name": "Headquarters",
-          "PhoneNumber": "212-555-0101",
-          "PostalCode": "10001",
-          "StateProvince": "NY"
-        },
-        "ContactEmailAddress": "contact2@example.com",
-        "EmailNotificationSubscriptions": [
-          {
-            "EmailNotificationTemplateId": "TemplateC",
-            "EmailAddresses": [
-              "email1@example.com",
-              "email2@example.com",
-              "email3@example.com"
-            ]
-          },
-          {
-            "EmailNotificationTemplateId": "TemplateA",
-            "EmailAddresses": [
-              "client2@example.com"
-            ]
-          }
-        ],
-        "InvoiceEmailAddress": null,
-        "Name": "Eaton",
-        "Parent": {
-          "Id": "CUST-020",
-          "Name": "Anthem"
-        },
-        "Partner": "Partner A",
-        "PaymentEmailAddress": null,
-        "PhoneNumber": "212-555-0101",
-        "ProductionFileLocation": null,
-        "SalesRep": "Alice Eaton",
-        "ShipMethodMappings": [
-          {
-            "RatesProviderShipMethodId": "RPM-001",
-            "SourceSystemShipMethodId": "SSM-001",
-            "FulfillmentSystemShipMethods": [
-              {
-                "ClientShipMethodMappingId": 0,
-                "FulfillmentSystemId": 2,
-                "FulfillmentSystemShipMethodId": "FSSM-001",
-                "FulfillmentSystemName": "Fusion"
-              },
-              {
-                "ClientShipMethodMappingId": 0,
-                "FulfillmentSystemId": 6,
-                "FulfillmentSystemShipMethodId": "FSSM-002",
-                "FulfillmentSystemName": "Slingshot"
-              }
-            ]
-          },
-          {
-            "RatesProviderShipMethodId": "RPM-002",
-            "SourceSystemShipMethodId": "SSM-002",
-            "FulfillmentSystemShipMethods": [
-              {
-                "ClientShipMethodMappingId": 0,
-                "FulfillmentSystemId": 3,
-                "FulfillmentSystemShipMethodId": "FSSM-003",
-                "FulfillmentSystemName": "u.Connect"
-              }
-            ]
-          },
-          {
-            "RatesProviderShipMethodId": "RPM-003",
-            "SourceSystemShipMethodId": "SSM-003",
-            "FulfillmentSystemShipMethods": [
-              {
-                "ClientShipMethodMappingId": 0,
-                "FulfillmentSystemId": 3,
-                "FulfillmentSystemShipMethodId": "FSSM-014",
-                "FulfillmentSystemName": "u.Connect"
-              },
-              {
-                "ClientShipMethodMappingId": 0,
-                "FulfillmentSystemId": 2,
-                "FulfillmentSystemShipMethodId": "FSSM-015",
-                "FulfillmentSystemName": "Fusion"
-              }
-            ]
-          }
-        ],
-        "Subsidiary": "Subsidiary 2",
-        "Website": "http://client2.example.com"
-      },
-      "failureMessages": [],
-      "informationalMessages": [],
-      "operationWasSuccessful": true
-    },
-    {
-      "data": null,
-      "failureMessages": [
-        "Customer with ID CUST-022 not found."
-      ],
-      "informationalMessages": [],
-      "operationWasSuccessful": false
-    }
   ]
 }
diff --git a/schema/Api/CustomerBroker/GetCustomersResponse.json b/schema/Api/CustomerBroker/GetCustomersResponse.json
index 1d9429c..0f66d84 100644
--- a/schema/Api/CustomerBroker/GetCustomersResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomersResponse.json
@@ -14,25 +14,7 @@
             "null"
           ],
           "items": {
-            "type": "object",
-            "properties": {
-              "Id": {
-                "type": "string"
-              },
-              "ParentId": {
-                "type": [
-                  "string",
-                  "null"
-                ]
-              },
-              "Name": {
-                "type": "string"
-              }
-            },
-            "required": [
-              "Id",
-              "Name"
-            ]
+            "$ref": "parts/CustomersList.json"
           }
         }
       }
diff --git a/schema/Api/CustomerBroker/issues-GetCustomersResponse.json.md b/schema/Api/CustomerBroker/issues-GetCustomersResponse.json.md
deleted file mode 100644
index da90ccf..0000000
--- a/schema/Api/CustomerBroker/issues-GetCustomersResponse.json.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Issues with Api/CustomerBroker/GetCustomersResponse.json
-
-- Schema should be sending a standard API response.  Fixing in documentation
-
diff --git a/schema/Api/CustomerBroker/parts/ContactAddress.json b/schema/Api/CustomerBroker/parts/ContactAddress.json
index 0d83bab..4ddd9bc 100644
--- a/schema/Api/CustomerBroker/parts/ContactAddress.json
+++ b/schema/Api/CustomerBroker/parts/ContactAddress.json
@@ -3,59 +3,82 @@
   "$id": "ContactAddress.json",
   "type": "object",
   "additionalProperties": false,
-  "title": "ContactAddress",
   "properties": {
-    "ClientId": {
-      "type": "integer"
-    },
-    "Id": {
-      "type": "integer"
-    },
     "Address1": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "Address2": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "Address3": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "AddressType": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "City": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "Company": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "Country": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "FaxNumber": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "Name": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "PhoneNumber": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "PostalCode": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "StateProvince": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     }
   },
   "required": [
-    "Id",
-    "ClientId",
-    "AddressType",
     "Address1",
-    "City",
-    "StateProvince",
-    "PostalCode",
-    "Country"
+    "AddressType"
   ]
 }
diff --git a/schema/Api/CustomerBroker/parts/Customer.json b/schema/Api/CustomerBroker/parts/Customer.json
index 29cdf7e..6aebcce 100644
--- a/schema/Api/CustomerBroker/parts/Customer.json
+++ b/schema/Api/CustomerBroker/parts/Customer.json
@@ -5,7 +5,10 @@
   "additionalProperties": false,
   "properties": {
     "DefaultWarehouseId": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "Id": {
       "type": "string"
@@ -19,14 +22,20 @@
         "type": "string"
       }
     },
-    "ContactAddress": {
-      "$ref": "./ContactAddress.json",
+    "ClientSecret": {
       "type": [
+        "string",
         "null"
       ]
     },
+    "ContactAddress": {
+      "$ref": "ContactAddress.json"
+    },
     "ContactEmailAddress": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "EmailNotificationSubscriptions": {
       "type": [
@@ -34,29 +43,50 @@
         "null"
       ],
       "items": {
-        "$ref": "./EmailNotificationSubscription.json"
+        "$ref": "EmailNotificationSubscription.json"
       }
     },
     "InvoiceEmailAddress": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "Name": {
       "type": "string"
     },
+    "ParentCustomer": {
+      "$ref": "ParentCustomer.json"
+    },
     "Partner": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "PaymentEmailAddress": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "PhoneNumber": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "ProductionFileLocation": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "SalesRep": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "ShipMethodMappings": {
       "type": [
@@ -64,33 +94,19 @@
         "null"
       ],
       "items": {
-        "$ref": "./ShipMethodMapping.json"
+        "$ref": "ShipMethodMapping.json"
       }
     },
     "Subsidiary": {
-      "type": "string"
-    },
-    "Website": {
-      "type": "string",
-      "format": "uri",
-      "qt-uri-protocols": [
-        "http"
+      "type": [
+        "string",
+        "null"
       ]
     },
-    "parent": {
-      "type": "object",
-      "additionalProperties": false,
-      "properties": {
-        "id": {
-          "type": "string"
-        },
-        "name": {
-          "type": "string"
-        }
-      },
-      "required": [
-        "id",
-        "name"
+    "Website": {
+      "type": [
+        "string",
+        "null"
       ]
     }
   },
diff --git a/schema/Api/CustomerBroker/parts/CustomerId.json b/schema/Api/CustomerBroker/parts/CustomerId.json
new file mode 100644
index 0000000..9ede500
--- /dev/null
+++ b/schema/Api/CustomerBroker/parts/CustomerId.json
@@ -0,0 +1,14 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "CustomerId.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "CustomerId": {
+      "type": [
+        "string",
+        "null"
+      ]
+    }
+  }
+}
diff --git a/schema/Api/CustomerBroker/parts/CustomersList.json b/schema/Api/CustomerBroker/parts/CustomersList.json
new file mode 100644
index 0000000..b9221b5
--- /dev/null
+++ b/schema/Api/CustomerBroker/parts/CustomersList.json
@@ -0,0 +1,26 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "CustomersList.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "Id": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "ParentId": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "Name": {
+      "type": [
+        "string",
+        "null"
+      ]
+    }
+  }
+}
diff --git a/schema/Api/CustomerBroker/parts/EmailNotificationSubscription.json b/schema/Api/CustomerBroker/parts/EmailNotificationSubscription.json
index 4c5aed5..c43de73 100644
--- a/schema/Api/CustomerBroker/parts/EmailNotificationSubscription.json
+++ b/schema/Api/CustomerBroker/parts/EmailNotificationSubscription.json
@@ -8,14 +8,16 @@
       "type": "string"
     },
     "EmailAddresses": {
-      "type": "array",
+      "type": [
+        "array",
+        "null"
+      ],
       "items": {
         "type": "string"
       }
     }
   },
   "required": [
-    "EmailAddresses",
     "EmailNotificationTemplateId"
   ]
 }
diff --git a/schema/Api/CustomerBroker/parts/FulfillmentSystemShipMethod.json b/schema/Api/CustomerBroker/parts/FulfillmentSystemShipMethod.json
index 259d444..3998f9b 100644
--- a/schema/Api/CustomerBroker/parts/FulfillmentSystemShipMethod.json
+++ b/schema/Api/CustomerBroker/parts/FulfillmentSystemShipMethod.json
@@ -4,23 +4,22 @@
   "type": "object",
   "additionalProperties": false,
   "properties": {
-    "ClientShipMethodMappingId": {
-      "type": "integer"
-    },
     "FulfillmentSystemId": {
-      "type": "integer"
+      "type": "integer",
+      "format": "int32"
     },
     "FulfillmentSystemShipMethodId": {
       "type": "string"
     },
     "FulfillmentSystemName": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     }
   },
   "required": [
-    "ClientShipMethodMappingId",
     "FulfillmentSystemId",
-    "FulfillmentSystemName",
     "FulfillmentSystemShipMethodId"
   ]
 }
diff --git a/schema/Api/CustomerBroker/parts/ParentCustomer.json b/schema/Api/CustomerBroker/parts/ParentCustomer.json
new file mode 100644
index 0000000..0463a70
--- /dev/null
+++ b/schema/Api/CustomerBroker/parts/ParentCustomer.json
@@ -0,0 +1,20 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "ParentCustomer.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "Id": {
+      "type": "string"
+    },
+    "Name": {
+      "type": [
+        "string",
+        "null"
+      ]
+    }
+  },
+  "required": [
+    "Id"
+  ]
+}
diff --git a/schema/Api/CustomerBroker/parts/ShipMethodMapping.json b/schema/Api/CustomerBroker/parts/ShipMethodMapping.json
index 8d129b7..949a7a5 100644
--- a/schema/Api/CustomerBroker/parts/ShipMethodMapping.json
+++ b/schema/Api/CustomerBroker/parts/ShipMethodMapping.json
@@ -5,21 +5,25 @@
   "additionalProperties": false,
   "properties": {
     "RatesProviderShipMethodId": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "SourceSystemShipMethodId": {
       "type": "string"
     },
     "FulfillmentSystemShipMethods": {
-      "type": "array",
+      "type": [
+        "array",
+        "null"
+      ],
       "items": {
-        "$ref": "./FulfillmentSystemShipMethod.json"
+        "$ref": "FulfillmentSystemShipMethod.json"
       }
     }
   },
   "required": [
-    "FulfillmentSystemShipMethods",
-    "RatesProviderShipMethodId",
     "SourceSystemShipMethodId"
   ]
 }
diff --git a/schema/Api/IdentityBroker/GetCustomerTokenParameters.json b/schema/Api/IdentityBroker/GetCustomerTokenParameters.json
new file mode 100644
index 0000000..714aab1
--- /dev/null
+++ b/schema/Api/IdentityBroker/GetCustomerTokenParameters.json
@@ -0,0 +1,11 @@
+{
+  "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
+  }
+}
\ No newline at end of file
diff --git a/schema/Api/OfferBroker/GetOfferRequest.json b/schema/Api/IdentityBroker/GetCustomerTokenRequest.json
similarity index 69%
rename from schema/Api/OfferBroker/GetOfferRequest.json
rename to schema/Api/IdentityBroker/GetCustomerTokenRequest.json
index cb6415f..6aea7ab 100644
--- a/schema/Api/OfferBroker/GetOfferRequest.json
+++ b/schema/Api/IdentityBroker/GetCustomerTokenRequest.json
@@ -1,25 +1,24 @@
 {
   "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "GetOfferRequest.json",
+  "$id": "GetCustomerTokenRequest.json",
   "type": "object",
   "additionalProperties": false,
   "properties": {
-    "OfferId": {
-      "description": "Unique ID for offer within Integration Broker",
+    "SourceSystemId": {
+      "type": "integer",
+      "format": "int32"
+    },
+    "ClientName": {
       "type": [
         "string",
         "null"
       ]
     },
-    "SourceSystemCustomerId": {
+    "Password": {
       "type": [
         "string",
         "null"
       ]
-    },
-    "SourceSystemId": {
-      "type": "integer",
-      "format": "int32"
     }
   }
 }
diff --git a/schema/Api/IdentityBroker/GetCustomerTokenResponse.json b/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
new file mode 100644
index 0000000..7c1fa15
--- /dev/null
+++ b/schema/Api/IdentityBroker/GetCustomerTokenResponse.json
@@ -0,0 +1,17 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "GetCustomerTokenResponse.json",
+  "allOf": [
+    {
+      "$ref": "../../Common/ApiResponseBase.json"
+    },
+    {
+      "type": "object",
+      "properties": {
+        "data": {
+          "$ref": "parts/CustomerToken.json"
+        }
+      }
+    }
+  ]
+}
diff --git a/schema/Api/IdentityBroker/GetTokenResponse.json b/schema/Api/IdentityBroker/GetTokenResponse.json
index a94637a..a3312a6 100644
--- a/schema/Api/IdentityBroker/GetTokenResponse.json
+++ b/schema/Api/IdentityBroker/GetTokenResponse.json
@@ -1,7 +1,6 @@
 {
-  "$schema": "https://json-schema.org/draft-07/schema#",
+  "$schema": "http://json-schema.org/draft-07/schema#",
   "$id": "GetTokenResponse.json",
-  "type": "object",
   "allOf": [
     {
       "$ref": "../../Common/ApiResponseBase.json"
@@ -10,19 +9,7 @@
       "type": "object",
       "properties": {
         "data": {
-          "type": "object",
-          "properties": {
-            "authToken": {
-              "type": "string"
-            },
-            "expiresOn": {
-              "type": "string"
-            }
-          },
-          "required": [
-            "authToken",
-            "expiresOn"
-          ],
+          "$ref": "parts/Token.json",
           "examples": [
             {
               "data": {
diff --git a/schema/Api/IdentityBroker/LegacyGetTokenRequest.json b/schema/Api/IdentityBroker/LegacyGetTokenRequest.json
index 33874f2..68fad7e 100644
--- a/schema/Api/IdentityBroker/LegacyGetTokenRequest.json
+++ b/schema/Api/IdentityBroker/LegacyGetTokenRequest.json
@@ -9,10 +9,16 @@
       "format": "int32"
     },
     "ClientName": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "Password": {
-      "type": "string"
+      "type": [
+        "string",
+        "null"
+      ]
     }
   },
   "required": [
diff --git a/schema/Api/IdentityBroker/LegacyGetTokenResponse.json b/schema/Api/IdentityBroker/LegacyGetTokenResponse.json
new file mode 100644
index 0000000..164f9a3
--- /dev/null
+++ b/schema/Api/IdentityBroker/LegacyGetTokenResponse.json
@@ -0,0 +1,39 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "LegacyGetTokenResponse.json",
+  "allOf": [
+    {
+      "$ref": "../../Common/ApiResponseBase.json"
+    },
+    {
+      "type": "object",
+      "properties": {
+        "data": {
+          "$ref": "parts/Token.json",
+          "examples": [
+            {
+              "data": {
+                "authToken": "k9AJphtSgE1wrJDND9lTuYwwrL03T9jhAw6E4bBn6YU4pWC3Ek4HkMXWTYYes3YFCd53aRv0gTD16Z7XrCs2J6jg1Stj1q8PSsYnEALr43X0iUBCy53kOmgNUi6owcJf81jlTSfMsEY1WRzpf6GqMYcS1L5J0WTf6hEBz43ychVSVwWximMKVJj9jEToBgz1rIBPf36GYMlSQHiYmL3LzSLrAPpCXuXTJghPPmPBwYlchmlPSSsoalHif9Yy9bbpsBSc1xRfDnu50ukSmFABYJIpsJzn4SxTbBGb11qCP0z2nOUpbXM9aJWHRsDFfRxNbJordulASEZSU6UAqF7Rgo1dGFJg8Miyw8xnjS7yIajUSaZrOXj2qbXDiSOi5fEVD3j4Y5mTQZMRH0BjG76xNjZ6L6FCE4LxqCXw55tgBrGeN4WGXrn1KdfHN8WWk8dVjgVV0i1CjXFzxBj0ZIpYGQco3QyDW3pSjM6f3VbaYNZ53WVVXK6OhkCQl8P4lvBxmBWV1rM3ECbkgegyzw64vNOilWqbdzFDh75v4Ko7NMekmHpb1s0iy7VYLysJC6uyPTlaPsoLZcB8KmadPZAnylhoxPXG2O0qpcbmW4bbeQi1yytz9rCI0iXyLM7cn014Np99eABYogdGT0MaJBADnauq4n7xrT6RTjTL2cp4xqjmpTkokGfwPR0kNtPD61Mmbc5wV3f3Vw63akdZT92xkSLdIQC7zy6UXDS3mWkj3q5ezEAYWCuRYQRtY7MY6ufuyH2r0TXhgwyQLSZp5V0n0uedyXTgAlpkz9aLKKrq7YIOC2oNuAPuOmbeVE6SkNK5deDD2NyRsmNNk0f4GEgRRs51PTRAO9ThzzupCm4Rr3fJz9tTYdP63mCPUvmmgVbMPlkE8YUiHNAaJE7SL20oV6DpvYyP8gde5lEBcnTj0rJnzC7HxS0X3n3FssmdZzBIa248DzYD2tdLes7n0FVt2qEbkLBlwNFIJCMKfCxO9VVGUjcptrE9RUOUDekflEu4av8m2aRSeugKkfYbMO7",
+                "expiresOn": "2024-11-21T19:48:53.7527531Z"
+              },
+              "failureMessages": [],
+              "informationalMessages": [],
+              "operationWasSuccessful": true
+            }
+          ]
+        }
+      }
+    }
+  ],
+  "examples": [
+    {
+      "data": {
+        "authToken": "k9AJphtSgE1wrJDND9lTuYwwrL03T9jhAw6E4bBn6YU4pWC3Ek4HkMXWTYYes3YFCd53aRv0gTD16Z7XrCs2J6jg1Stj1q8PSsYnEALr43X0iUBCy53kOmgNUi6owcJf81jlTSfMsEY1WRzpf6GqMYcS1L5J0WTf6hEBz43ychVSVwWximMKVJj9jEToBgz1rIBPf36GYMlSQHiYmL3LzSLrAPpCXuXTJghPPmPBwYlchmlPSSsoalHif9Yy9bbpsBSc1xRfDnu50ukSmFABYJIpsJzn4SxTbBGb11qCP0z2nOUpbXM9aJWHRsDFfRxNbJordulASEZSU6UAqF7Rgo1dGFJg8Miyw8xnjS7yIajUSaZrOXj2qbXDiSOi5fEVD3j4Y5mTQZMRH0BjG76xNjZ6L6FCE4LxqCXw55tgBrGeN4WGXrn1KdfHN8WWk8dVjgVV0i1CjXFzxBj0ZIpYGQco3QyDW3pSjM6f3VbaYNZ53WVVXK6OhkCQl8P4lvBxmBWV1rM3ECbkgegyzw64vNOilWqbdzFDh75v4Ko7NMekmHpb1s0iy7VYLysJC6uyPTlaPsoLZcB8KmadPZAnylhoxPXG2O0qpcbmW4bbeQi1yytz9rCI0iXyLM7cn014Np99eABYogdGT0MaJBADnauq4n7xrT6RTjTL2cp4xqjmpTkokGfwPR0kNtPD61Mmbc5wV3f3Vw63akdZT92xkSLdIQC7zy6UXDS3mWkj3q5ezEAYWCuRYQRtY7MY6ufuyH2r0TXhgwyQLSZp5V0n0uedyXTgAlpkz9aLKKrq7YIOC2oNuAPuOmbeVE6SkNK5deDD2NyRsmNNk0f4GEgRRs51PTRAO9ThzzupCm4Rr3fJz9tTYdP63mCPUvmmgVbMPlkE8YUiHNAaJE7SL20oV6DpvYyP8gde5lEBcnTj0rJnzC7HxS0X3n3FssmdZzBIa248DzYD2tdLes7n0FVt2qEbkLBlwNFIJCMKfCxO9VVGUjcptrE9RUOUDekflEu4av8m2aRSeugKkfYbMO7",
+        "expiresOn": "2024-11-21T19:48:53.7527531Z"
+      },
+      "failureMessages": [],
+      "informationalMessages": [],
+      "operationWasSuccessful": true
+    }
+  ]
+}
diff --git a/schema/Api/IdentityBroker/parts/CustomerToken.json b/schema/Api/IdentityBroker/parts/CustomerToken.json
new file mode 100644
index 0000000..db5d8cf
--- /dev/null
+++ b/schema/Api/IdentityBroker/parts/CustomerToken.json
@@ -0,0 +1,17 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "CustomerToken.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "authToken": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "expiresOn": {
+      "type": "string"
+    }
+  }
+}
diff --git a/schema/Api/IdentityBroker/parts/Token.json b/schema/Api/IdentityBroker/parts/Token.json
new file mode 100644
index 0000000..b9a0842
--- /dev/null
+++ b/schema/Api/IdentityBroker/parts/Token.json
@@ -0,0 +1,18 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "Token.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "authToken": {
+      "type": "string"
+    },
+    "expiresOn": {
+      "type": "string"
+    }
+  },
+  "required": [
+    "authToken",
+    "expiresOn"
+  ]
+}
diff --git a/schema/Api/OfferBroker/CreateOfferRequest.json b/schema/Api/OfferBroker/CreateOfferRequest.json
index 58da63c..7c88d86 100644
--- a/schema/Api/OfferBroker/CreateOfferRequest.json
+++ b/schema/Api/OfferBroker/CreateOfferRequest.json
@@ -2,6 +2,18 @@
   "$schema": "http://json-schema.org/draft-07/schema#",
   "$id": "CreateOfferRequest.json",
   "type": "object",
+  "oneOf": [
+    {
+      "required": [
+        "Id"
+      ]
+    },
+    {
+      "required": [
+        "Number"
+      ]
+    }
+  ],
   "additionalProperties": false,
   "properties": {
     "CorrelationId": {
@@ -138,12 +150,6 @@
         "null"
       ]
     },
-    "IsDeleted": {
-      "type": [
-        "boolean",
-        "null"
-      ]
-    },
     "IsTaxable": {
       "type": [
         "boolean",
@@ -264,8 +270,6 @@
     }
   },
   "required": [
-    "Id",
-    "Number",
     "OfferType",
     "SourceSystemCustomerId",
     "SourceSystemId"
diff --git a/schema/Api/OfferBroker/GetOfferCategoriesParameters.json b/schema/Api/OfferBroker/GetOfferCategoriesParameters.json
new file mode 100644
index 0000000..714aab1
--- /dev/null
+++ b/schema/Api/OfferBroker/GetOfferCategoriesParameters.json
@@ -0,0 +1,11 @@
+{
+  "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
+  }
+}
\ No newline at end of file
diff --git a/schema/Api/OfferBroker/GetOfferCategoriesResponse.json b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
new file mode 100644
index 0000000..cf678ba
--- /dev/null
+++ b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
@@ -0,0 +1,23 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "GetOfferCategoriesResponse.json",
+  "allOf": [
+    {
+      "$ref": "../../Common/ApiResponseBase.json"
+    },
+    {
+      "type": "object",
+      "properties": {
+        "data": {
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": {
+            "$ref": "parts/OfferCategory.json"
+          }
+        }
+      }
+    }
+  ]
+}
diff --git a/schema/Api/OfferBroker/GetOfferInventoryParameters.json b/schema/Api/OfferBroker/GetOfferInventoryParameters.json
new file mode 100644
index 0000000..828d019
--- /dev/null
+++ b/schema/Api/OfferBroker/GetOfferInventoryParameters.json
@@ -0,0 +1,21 @@
+{
+  "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
+  },
+  "OfferIds": {
+    "in": "query",
+    "name": "offerIds",
+    "schema": {
+      "type": "array",
+      "items": {
+        "type": "string"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/schema/Api/OfferBroker/GetOfferParameters.json b/schema/Api/OfferBroker/GetOfferParameters.json
index 714aab1..7314e5c 100644
--- a/schema/Api/OfferBroker/GetOfferParameters.json
+++ b/schema/Api/OfferBroker/GetOfferParameters.json
@@ -7,5 +7,13 @@
       "type": "string"
     },
     "required": false
+  },
+  "OfferId": {
+    "in": "path",
+    "name": "offerId",
+    "schema": {
+      "type": "string"
+    },
+    "required": true
   }
 }
\ No newline at end of file
diff --git a/schema/Api/OfferBroker/GetOfferResponse.json b/schema/Api/OfferBroker/GetOfferResponse.json
new file mode 100644
index 0000000..7e3afad
--- /dev/null
+++ b/schema/Api/OfferBroker/GetOfferResponse.json
@@ -0,0 +1,17 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "GetOfferResponse.json",
+  "allOf": [
+    {
+      "$ref": "../../Common/ApiResponseBase.json"
+    },
+    {
+      "type": "object",
+      "properties": {
+        "data": {
+          "$ref": "parts/Offer.json"
+        }
+      }
+    }
+  ]
+}
diff --git a/schema/Api/OfferBroker/GetOffersParameters.json b/schema/Api/OfferBroker/GetOffersParameters.json
new file mode 100644
index 0000000..714aab1
--- /dev/null
+++ b/schema/Api/OfferBroker/GetOffersParameters.json
@@ -0,0 +1,11 @@
+{
+  "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
+  }
+}
\ No newline at end of file
diff --git a/schema/Api/OfferBroker/GetOffersResponse.json b/schema/Api/OfferBroker/GetOffersResponse.json
new file mode 100644
index 0000000..8405b41
--- /dev/null
+++ b/schema/Api/OfferBroker/GetOffersResponse.json
@@ -0,0 +1,23 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "GetOffersResponse.json",
+  "allOf": [
+    {
+      "$ref": "../../Common/ApiResponseBase.json"
+    },
+    {
+      "type": "object",
+      "properties": {
+        "data": {
+          "type": [
+            "array",
+            "null"
+          ],
+          "items": {
+            "$ref": "parts/Offer.json"
+          }
+        }
+      }
+    }
+  ]
+}
diff --git a/schema/Api/OfferBroker/UpdateOfferRequest.json b/schema/Api/OfferBroker/UpdateOfferRequest.json
index bd93495..59b3c90 100644
--- a/schema/Api/OfferBroker/UpdateOfferRequest.json
+++ b/schema/Api/OfferBroker/UpdateOfferRequest.json
@@ -2,6 +2,18 @@
   "$schema": "http://json-schema.org/draft-07/schema#",
   "$id": "UpdateOfferRequest.json",
   "type": "object",
+  "oneOf": [
+    {
+      "required": [
+        "Id"
+      ]
+    },
+    {
+      "required": [
+        "Number"
+      ]
+    }
+  ],
   "additionalProperties": false,
   "properties": {
     "CorrelationId": {
@@ -19,10 +31,7 @@
       "readOnly": true
     },
     "Id": {
-      "type": [
-        "string",
-        "null"
-      ]
+      "type": "string"
     },
     "SourceSystemCustomerId": {
       "type": [
@@ -138,12 +147,6 @@
         "null"
       ]
     },
-    "IsDeleted": {
-      "type": [
-        "boolean",
-        "null"
-      ]
-    },
     "IsTaxable": {
       "type": [
         "boolean",
@@ -264,8 +267,6 @@
     }
   },
   "required": [
-    "Id",
-    "Number",
     "OfferType",
     "SourceSystemCustomerId",
     "SourceSystemId"
diff --git a/schema/Api/OfferBroker/parts/AdditionalPropsRequiredOnOrder.json b/schema/Api/OfferBroker/parts/AdditionalPropsRequiredOnOrder.json
new file mode 100644
index 0000000..8e86d63
--- /dev/null
+++ b/schema/Api/OfferBroker/parts/AdditionalPropsRequiredOnOrder.json
@@ -0,0 +1,38 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "AdditionalPropsRequiredOnOrder.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "Hint": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "Label": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "Name": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "Type": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "Value": {
+      "type": [
+        "string",
+        "null"
+      ]
+    }
+  }
+}
diff --git a/schema/Api/OfferBroker/parts/Category.json b/schema/Api/OfferBroker/parts/Category.json
new file mode 100644
index 0000000..8378834
--- /dev/null
+++ b/schema/Api/OfferBroker/parts/Category.json
@@ -0,0 +1,20 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "Category.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "CategoryKey": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "Name": {
+      "type": [
+        "string",
+        "null"
+      ]
+    }
+  }
+}
diff --git a/schema/Api/OfferBroker/parts/Offer.json b/schema/Api/OfferBroker/parts/Offer.json
new file mode 100644
index 0000000..5721170
--- /dev/null
+++ b/schema/Api/OfferBroker/parts/Offer.json
@@ -0,0 +1,229 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "Offer.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "Id": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "OmsOfferId": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "XmPieTemplateId": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "XmPieUStoreId": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "AccessGroups": {
+      "type": [
+        "array",
+        "null"
+      ],
+      "items": {
+        "type": "string"
+      }
+    },
+    "AdditionalPropsRequiredOnOrder": {
+      "type": [
+        "array",
+        "null"
+      ],
+      "items": {
+        "$ref": "AdditionalPropsRequiredOnOrder.json"
+      }
+    },
+    "AvailableEndDate": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "AvailableStartDate": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "Categories": {
+      "type": [
+        "array",
+        "null"
+      ],
+      "items": {
+        "$ref": "Category.json"
+      }
+    },
+    "CategoryIds": {
+      "type": [
+        "array",
+        "null"
+      ],
+      "items": {
+        "type": "string"
+      }
+    },
+    "Comments": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "DefaultPrice": {
+      "type": [
+        "number",
+        "null"
+      ],
+      "format": "double"
+    },
+    "Description": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "DoSuppressShippingAndHandling": {
+      "type": "boolean"
+    },
+    "FixedOrderQuantities": {
+      "type": [
+        "array",
+        "null"
+      ],
+      "items": {
+        "type": "integer",
+        "format": "int32"
+      }
+    },
+    "FullImageUrl": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "IntegrationBrokerLastUpdatedDateTimeUtc": {
+      "type": "string"
+    },
+    "IsActive": {
+      "type": "boolean"
+    },
+    "IsDeleted": {
+      "type": "boolean"
+    },
+    "IsInventoried": {
+      "type": "boolean"
+    },
+    "IsTaxable": {
+      "type": "boolean"
+    },
+    "LastUpdatedDateTimeUTC": {
+      "type": "string"
+    },
+    "Number": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "OfferType": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "OmsIdentifier": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "OmsRootSystemName": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "OnlyShipMethodsAvailable": {
+      "type": [
+        "array",
+        "null"
+      ],
+      "items": {
+        "type": "string"
+      }
+    },
+    "OrderMaximum": {
+      "type": [
+        "integer",
+        "null"
+      ],
+      "format": "int32"
+    },
+    "OrderMinimum": {
+      "type": [
+        "integer",
+        "null"
+      ],
+      "format": "int32"
+    },
+    "PdfUrl": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "PriceClasses": {
+      "type": [
+        "array",
+        "null"
+      ],
+      "items": {
+        "$ref": "PriceClass.json"
+      }
+    },
+    "ProductClusters": {
+      "type": [
+        "array",
+        "null"
+      ],
+      "items": {
+        "$ref": "ProductCluster.json"
+      }
+    },
+    "SchemaVersion": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "ThumbnailUrl": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "UnitOfMeasure": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "WeightInPounds": {
+      "type": "number",
+      "format": "float"
+    }
+  }
+}
diff --git a/schema/Api/OfferBroker/parts/OfferCategory.json b/schema/Api/OfferBroker/parts/OfferCategory.json
new file mode 100644
index 0000000..d9c6126
--- /dev/null
+++ b/schema/Api/OfferBroker/parts/OfferCategory.json
@@ -0,0 +1,42 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "OfferCategory.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "Id": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "CategoryKey": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "CategoryLevel": {
+      "type": [
+        "integer",
+        "null"
+      ],
+      "format": "int32"
+    },
+    "CategoryName": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "SubCategories": {
+      "type": [
+        "array",
+        "null"
+      ],
+      "items": {
+        "$ref": "SubCategory.json"
+      }
+    }
+  }
+}
diff --git a/schema/Api/OfferBroker/parts/SubCategory.json b/schema/Api/OfferBroker/parts/SubCategory.json
new file mode 100644
index 0000000..811f78c
--- /dev/null
+++ b/schema/Api/OfferBroker/parts/SubCategory.json
@@ -0,0 +1,5 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "SubCategory.json",
+  "type": "object"
+}
diff --git a/schema/Api/OrderBroker/NewOrderRequest.json b/schema/Api/OrderBroker/NewOrderRequest.json
index 6492ca6..17d357b 100644
--- a/schema/Api/OrderBroker/NewOrderRequest.json
+++ b/schema/Api/OrderBroker/NewOrderRequest.json
@@ -18,16 +18,6 @@
         "null"
       ]
     },
-    "SourceSystemCustomerId": {
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "SourceSystemId": {
-      "type": "integer",
-      "format": "int32"
-    },
     "AccessGroups": {
       "type": [
         "array",
@@ -57,9 +47,18 @@
         "array",
         "null"
       ],
-      "items": {
-        "$ref": "parts/BillTo.json"
-      },
+      "oneOf": [
+        {
+          "type": "null"
+        },
+        {
+          "type": "array",
+          "items": {
+            "$ref": "parts/BillTo.json"
+          },
+          "minItems": 1
+        }
+      ],
       "examples": [
         {
           "Address1": "106 Tyler Street Suite 175",
@@ -185,9 +184,18 @@
         "array",
         "null"
       ],
-      "items": {
-        "$ref": "parts/OrderedBy.json"
-      },
+      "oneOf": [
+        {
+          "type": "null"
+        },
+        {
+          "type": "array",
+          "items": {
+            "$ref": "parts/OrderedBy.json"
+          },
+          "minItems": 1
+        }
+      ],
       "examples": [
         {
           "Address1": "106 Tyler Street Suite 175",
@@ -240,9 +248,18 @@
         "array",
         "null"
       ],
-      "items": {
-        "$ref": "parts/ShipTo.json"
-      },
+      "oneOf": [
+        {
+          "type": "null"
+        },
+        {
+          "type": "array",
+          "items": {
+            "$ref": "parts/ShipTo.json"
+          },
+          "minItems": 1
+        }
+      ],
       "examples": [
         {
           "AffiliateId": null,
@@ -393,8 +410,6 @@
     {
       "OrderId": "7-mkkutsde-3-K-5649-4005-64",
       "ReferenceId": "OWMR WSKFA - LNSSZT XBUUJ & MS XXQ QCHX",
-      "SourceSystemCustomerId": "lqmpnpmc",
-      "SourceSystemId": 2,
       "AccessGroups": [
         "TS-Retail",
         "CDM Tuff Shed",
@@ -429,8 +444,6 @@
       "LineItems": [
         {
           "OfferId": "t87grb75-e9pe-5405-y8yv-25n5q70bu93i",
-          "ProductManagementSystemCustomerId": null,
-          "ProductManagementSystemId": null,
           "ReferenceId": "BEHZ QUJNS - TPGJXT MMGVN & UX ZDN HHQS",
           "VariableTemplatePrintId": null,
           "AdditionalProperties": [],
@@ -447,8 +460,6 @@
           "Price": 17.0,
           "Products": [
             {
-              "FulfillmentSystemCustomerId": null,
-              "FulfillmentSystemId": null,
               "ProductId": "3j8hu98q-s0t6-409v-029r-321r0uo02k30",
               "AssociatedFileName": "",
               "Color": null,
@@ -458,13 +469,10 @@
               "ProductLineNumber": "1",
               "ProductNumber": "R_962_24008_TSO",
               "ProductOwner": null,
-              "QuantityBackordered": null,
               "QuantityOrdered": null,
               "Size": null
             },
             {
-              "FulfillmentSystemCustomerId": null,
-              "FulfillmentSystemId": null,
               "ProductId": "7jv34sz5-m4q8-8q8f-187d-jt7791j02958",
               "AssociatedFileName": "",
               "Color": null,
@@ -474,12 +482,10 @@
               "ProductLineNumber": "2",
               "ProductNumber": "TS_A-A0050",
               "ProductOwner": null,
-              "QuantityBackordered": null,
               "QuantityOrdered": null,
               "Size": null
             }
           ],
-          "QuantityCanceled": null,
           "QuantityOrdered": 1,
           "RushOrder": false,
           "ShipToKey": 0,
@@ -556,8 +562,6 @@
     {
       "OrderId": "1-qrhjtpek-8-Q-0286-8859-25",
       "ReferenceId": "WUQD HWKPE - XIWHAC BTVOM & BH WAK DXRI",
-      "SourceSystemCustomerId": "nsfozdpa",
-      "SourceSystemId": 2,
       "AccessGroups": [
         "TS-Retail",
         "CDM Tuff Shed",
@@ -592,8 +596,6 @@
       "LineItems": [
         {
           "OfferId": "s59otw94-k6go-1114-c6ja-17q7i68pu06t",
-          "ProductManagementSystemCustomerId": null,
-          "ProductManagementSystemId": null,
           "ReferenceId": "VNMV APSLE - GMGDGG ELXCC & VS FUP NCHR",
           "VariableTemplatePrintId": null,
           "AdditionalProperties": [],
@@ -610,8 +612,6 @@
           "Price": 17.0,
           "Products": [
             {
-              "FulfillmentSystemCustomerId": null,
-              "FulfillmentSystemId": null,
               "ProductId": "1t6xb26e-g4n3-882j-217s-200f1fp92e83",
               "AssociatedFileName": "",
               "Color": null,
@@ -621,13 +621,10 @@
               "ProductLineNumber": "1",
               "ProductNumber": "R_962_24008_TSO",
               "ProductOwner": null,
-              "QuantityBackordered": null,
               "QuantityOrdered": null,
               "Size": null
             },
             {
-              "FulfillmentSystemCustomerId": null,
-              "FulfillmentSystemId": null,
               "ProductId": "3sn29wd7-z0g3-5z6f-133y-yt7327a65247",
               "AssociatedFileName": "",
               "Color": null,
@@ -637,12 +634,10 @@
               "ProductLineNumber": "2",
               "ProductNumber": "TS_A-A0050",
               "ProductOwner": null,
-              "QuantityBackordered": null,
               "QuantityOrdered": null,
               "Size": null
             }
           ],
-          "QuantityCanceled": null,
           "QuantityOrdered": 1,
           "RushOrder": false,
           "ShipToKey": 0,
diff --git a/schema/Api/OrderBroker/parts/LineItem.json b/schema/Api/OrderBroker/parts/LineItem.json
index 1117965..4f2229e 100644
--- a/schema/Api/OrderBroker/parts/LineItem.json
+++ b/schema/Api/OrderBroker/parts/LineItem.json
@@ -20,7 +20,7 @@
       ]
     }
   ],
-  "additionalProperties": true,
+  "additionalProperties": false,
   "properties": {
     "OfferId": {
       "description": "Unique ID for offer within Integration Broker",
diff --git a/schema/Api/OrderBroker/parts/OrderVariable.json b/schema/Api/OrderBroker/parts/OrderVariable.json
index 0f01902..d7ffc98 100644
--- a/schema/Api/OrderBroker/parts/OrderVariable.json
+++ b/schema/Api/OrderBroker/parts/OrderVariable.json
@@ -6,8 +6,5 @@
     "object",
     "null"
   ],
-  "additionalProperties": {
-    "type": "array",
-    "items": {}
-  }
+  "additionalProperties": true
 }
diff --git a/schema/Api/OrderBroker/parts/Product.json b/schema/Api/OrderBroker/parts/Product.json
index 23e32f3..ffdc410 100644
--- a/schema/Api/OrderBroker/parts/Product.json
+++ b/schema/Api/OrderBroker/parts/Product.json
@@ -3,7 +3,7 @@
   "$id": "Product.json",
   "description": "Order.LineItems level product details",
   "type": "object",
-  "additionalProperties": true,
+  "additionalProperties": false,
   "properties": {
     "ProductId": {
       "description": "Unique ID for product within Integration Broker",
diff --git a/schema/Api/ProductBroker/GetProductInventoryParameters.json b/schema/Api/ProductBroker/GetProductInventoryParameters.json
new file mode 100644
index 0000000..6685b51
--- /dev/null
+++ b/schema/Api/ProductBroker/GetProductInventoryParameters.json
@@ -0,0 +1,19 @@
+{
+  "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": {
+    "in": "path",
+    "name": "productId",
+    "schema": {
+      "type": "string"
+    },
+    "required": true
+  }
+}
\ No newline at end of file
diff --git a/schema/Api/ProductBroker/GetProductInventoryResponse.json b/schema/Api/ProductBroker/GetProductInventoryResponse.json
new file mode 100644
index 0000000..f41bc7a
--- /dev/null
+++ b/schema/Api/ProductBroker/GetProductInventoryResponse.json
@@ -0,0 +1,17 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "GetProductinventoryResponse.json",
+  "allOf": [
+    {
+      "$ref": "../../Common/ApiResponseBase.json"
+    },
+    {
+      "type": "object",
+      "properties": {
+        "data": {
+          "$ref": "parts/ProductInventory.json"
+        }
+      }
+    }
+  ]
+}
diff --git a/schema/Api/ProductBroker/parts/ProductInventory.json b/schema/Api/ProductBroker/parts/ProductInventory.json
new file mode 100644
index 0000000..d933598
--- /dev/null
+++ b/schema/Api/ProductBroker/parts/ProductInventory.json
@@ -0,0 +1,46 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "ProductInventory.json",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "ProductId": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "CurrentAvailableQty": {
+      "type": "integer",
+      "format": "int32"
+    },
+    "CurrentOnHandQty": {
+      "type": "integer",
+      "format": "int32"
+    },
+    "Expected": {
+      "type": [
+        "integer",
+        "null"
+      ],
+      "format": "int32"
+    },
+    "OnBackorder": {
+      "type": [
+        "integer",
+        "null"
+      ],
+      "format": "int32"
+    },
+    "Reserved": {
+      "type": "integer",
+      "format": "int32"
+    }
+  },
+  "required": [
+    "CurrentAvailableQty",
+    "CurrentOnHandQty",
+    "ProductId",
+    "Reserved"
+  ]
+}
diff --git a/schema/Event/CustomerFile/CustomerFileEvent.json b/schema/Event/CustomerFile/CustomerFileEvent.json
index b7ee88b..b55aa9b 100644
--- a/schema/Event/CustomerFile/CustomerFileEvent.json
+++ b/schema/Event/CustomerFile/CustomerFileEvent.json
@@ -8,7 +8,12 @@
       "$ref": "../../Common/EventBase.json"
     },
     {
-      "$ref": "CustomerFile.json"
+      "type": "object",
+      "properties": {
+        "CustomFile": {
+          "$ref": "CustomerFile.json"
+        }
+      }
     },
     {
       "type": "object",
diff --git a/schema/Event/FulfillmentOrder/FulfillmentOrder.json b/schema/Event/FulfillmentOrder/FulfillmentOrder.json
index 8071f8c..90c7e2d 100644
--- a/schema/Event/FulfillmentOrder/FulfillmentOrder.json
+++ b/schema/Event/FulfillmentOrder/FulfillmentOrder.json
@@ -1,183 +1,336 @@
 {
   "$schema": "http://json-schema.org/draft-07/schema#",
   "$id": "FulfillmentOrder.json",
-  "description": "FulfillmentOrder properties",
+  "description": "Details for Fulfillment Order JSON schema",
   "type": "object",
+  "title": "FulfillmentOrder",
   "properties": {
+    "CustomerId": {
+      "description": "Customer ID tied to the fulfillment order",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
     "FulfillmentOrderId": {
-      "description": "Unique identifier for the fulfillment order",
-      "type": "string"
+      "description": "Unique ID for fulfillment order",
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "FulfillmentSystemCustomerId": {
-      "description": "Customer identifier in the fulfillment system",
-      "type": "string"
+      "description": "ID of customer within the fulfillment system",
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "FulfillmentSystemId": {
-      "description": "Identifier of the fulfillment system",
-      "type": "string"
+      "description": "System used to fulfill the order",
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "FulfillmentSystemLocationId": {
-      "description": "Location identifier in the fulfillment system",
+      "description": "ID of location within the fulfillment system",
       "type": [
         "string",
         "null"
       ]
     },
     "FulfillmentSystemOrderId": {
-      "description": "Order identifier in the fulfillment system",
+      "description": "Fulfillment order ID within the fulfillment system",
       "type": [
         "string",
         "null"
       ]
     },
-    "OmsCustomerId": {
-      "description": "Customer identifier in the OMS",
-      "type": "string"
-    },
-    "OmsId": {
-      "description": "OMS system identifier",
-      "type": "integer"
-    },
-    "OmsOrderId": {
-      "description": "Order identifier in the OMS",
-      "type": "string"
-    },
-    "OrderId": {
-      "description": "Parent order identifier",
-      "type": "string"
-    },
-    "ReferenceId": {
-      "description": "External reference identifier",
-      "type": "string"
-    },
-    "SourceSystemOrderId": {
-      "description": "Order identifier in the source system",
-      "type": "string"
-    },
-    "AffiliateIdentifier": {
-      "description": "Identifier of the affiliate",
-      "type": "string"
-    },
-    "AffiliateName": {
-      "description": "Name of the affiliate",
-      "type": "string"
-    },
-    "BillTos": {
-      "type": "array",
-      "items": {
-        "$ref": "./parts/BillTo.json"
-      }
-    },
-    "CostCenter": {
-      "description": "Cost center",
+    "BillTo": {
+      "description": "Fulfillment order level bill to contact and address details",
       "type": [
-        "string",
+        "object",
         "null"
+      ],
+      "items": {
+        "$ref": "parts/BillTo.json"
+      },
+      "examples": [
+        {
+          "Address1": "106 Tyler Street Suite 175",
+          "Address2": "3181 George Vista",
+          "Address3": "",
+          "City": "West Savannahside",
+          "Company": "Matthews, Mclean and Huynh",
+          "Country": "USA",
+          "EmailAddress": "ghunt@example.com",
+          "FaxNumber": "",
+          "Key": 0,
+          "Name": "Kristin Tyler",
+          "PhoneNumber": "001-990-377-8647x21426",
+          "PostalCode": "69532",
+          "StateProvince": "Idaho"
+        }
       ]
     },
-    "CreditCardFee": {
-      "description": "Credit card processing fee",
+    "CreateDateTime": {
+      "description": "Created date time of the fulfillment order",
       "type": [
-        "number",
+        "string",
         "null"
       ]
     },
-    "DefaultBillToKey": {
-      "description": "Default billing address key",
-      "type": "integer"
-    },
-    "DefaultOrderedByKey": {
-      "description": "Default ordered by address key",
-      "type": "integer"
-    },
     "DefaultShipToKey": {
-      "description": "Default shipping address key",
+      "description": "Default key for ShipTo",
       "type": "integer"
     },
     "DueDate": {
-      "description": "Due date for the fulfillment order",
+      "description": "Due date of the fulfillment order",
       "type": [
         "string",
         "null"
       ]
     },
-    "FulfillmentOrderFee": {
-      "description": "Fee for fulfillment order",
-      "type": "number"
-    },
-    "LineItems": {
-      "type": "array",
+    "OrderIds": {
+      "description": "Order IDs tied to the fulfillment order",
+      "type": [
+        "array",
+        "null"
+      ],
       "items": {
-        "$ref": "./parts/LineItem.json"
+        "type": "string"
       }
     },
     "OrderVariables": {
-      "$ref": "./parts/OrderVariable.json"
-    },
-    "OrderedBys": {
-      "type": "array",
-      "items": {
-        "$ref": "./parts/OrderedBy.json"
-      }
+      "description": "Order variables tied to the fulfillment order in JSON format",
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "PONumber": {
-      "description": "Purchase order number",
+      "description": "PO number tied to the fulfillment order",
       "type": [
         "string",
         "null"
       ]
     },
     "PaymentMethods": {
-      "type": "array",
+      "description": "PaymentMethod details",
+      "type": [
+        "array",
+        "null"
+      ],
       "items": {
-        "$ref": "./parts/PaymentMethod.json"
+        "$ref": "parts/PaymentMethod.json"
       }
     },
-    "PickPackHandlingFee": {
-      "description": "Pick, pack, and handling fee",
+    "Products": {
+      "description": "Fulfillment order level product details",
       "type": [
-        "number",
+        "array",
         "null"
-      ]
-    },
-    "RushOrder": {
-      "description": "Indicates if this is a rush order",
-      "type": "string"
-    },
-    "ShipTos": {
-      "type": "array",
+      ],
       "items": {
-        "$ref": "./parts/ShipTo.json"
+        "$ref": "parts/FOProduct.json"
       }
     },
-    "ShippingHandlingTax": {
-      "description": "Tax amount for shipping and handling",
+    "RushOrder": {
+      "description": "Indicator if the order is a rush order",
       "type": [
-        "number",
+        "string",
         "null"
       ]
     },
-    "Statuses": {
-      "description": "List of order statuses",
-      "type": "array",
+    "ShipTos": {
+      "description": "Fulfillment order level ship to details",
+      "type": [
+        "array",
+        "null"
+      ],
       "items": {
-        "type": "string"
-      }
-    },
-    "TotalOrderFee": {
-      "description": "Total order fees",
-      "type": "number"
-    },
-    "TotalShippingCost": {
-      "description": "Total shipping cost",
-      "type": "number"
+        "$ref": "parts/FOShipTo.json"
+      },
+      "examples": [
+        {
+          "FulfillmentSystemShippingMethodId": "FedEx Ground",
+          "Comment": null,
+          "DueDate": null,
+          "Key": 0,
+          "PONumber": null,
+          "PaymentMethods": null,
+          "RushOrder": null,
+          "ShipToAddress": {
+            "Address1": "21133 Mraz Estate",
+            "Address2": null,
+            "Address3": null,
+            "City": "Port Novella",
+            "Company": null,
+            "Country": "United States",
+            "EmailAddress": "Leda.Hudson@yahoo.com",
+            "FaxNumber": "(389) 855-1980 x01354",
+            "Name": "Gerard Hamill",
+            "PhoneNumber": "778-483-8935",
+            "PostalCode": "16141-8021",
+            "StateProvince": "TX"
+          },
+          "ShippingCarrier": null,
+          "ShippingCost": 10.0,
+          "ShippingService": null,
+          "Status": null
+        }
+      ]
     }
   },
   "required": [
     "FulfillmentOrderId",
-    "OrderId",
+    "OrderIds",
+    "CustomerId",
+    "FulfillmentSystemOrderId",
     "FulfillmentSystemId",
     "FulfillmentSystemCustomerId",
-    "LineItems"
+    "FulfillmentSystemLocationId",
+    "Products",
+    "ShipTos",
+    "BillTo",
+    "DefaultShipToKey"
+  ],
+  "allOf": [
+    {
+      "oneOf": [
+        {
+          "properties": {
+            "DefaultShipToKey": {
+              "type": "integer"
+            }
+          },
+          "required": [
+            "DefaultShipToKey"
+          ]
+        },
+        {
+          "not": {
+            "properties": {
+              "DefaultShipToKey": {
+                "type": "integer"
+              }
+            },
+            "required": [
+              "DefaultShipToKey"
+            ]
+          },
+          "properties": {
+            "DefaultShipToKey": {
+              "type": [
+                "null",
+                "integer"
+              ]
+            },
+            "ShipTos": {
+              "type": "array",
+              "minItems": 1
+            }
+          },
+          "required": [
+            "ShipTos"
+          ]
+        }
+      ]
+    }
+  ],
+  "examples": [
+    {
+      "CustomerId": "aa6b0d33-ef54-cdd0-497b-e54be56ed661",
+      "FulfillmentOrderId": "54caabeb-edb2-4a4f-9d33-fdc1aeb3fcb4",
+      "FulfillmentSystemCustomerId": "2519",
+      "FulfillmentSystemId": "6",
+      "FulfillmentSystemLocationId": "35d5d610-9eab-ad5d-c904-bcaaac711392",
+      "FulfillmentSystemOrderId": "eba0871d-8ae7-10ce-029c-48e4d8b20b90",
+      "BillTo": {
+        "Address1": "854 Destin Summit",
+        "Address2": "Apt. 492",
+        "Address3": null,
+        "City": "West Betty",
+        "Company": null,
+        "Country": "United States",
+        "EmailAddress": "Lisandro53@gmail.com",
+        "FaxNumber": "1-253-540-1403",
+        "Name": "Hayden Daniel",
+        "PhoneNumber": "622-528-4051 x871",
+        "PostalCode": "83731",
+        "StateProvince": "OK"
+      },
+      "CreateDateTime": "2025-03-13T22:26:59.3895106Z",
+      "DefaultShipToKey": 0,
+      "DueDate": "2025-03-14T22:26:59.3895111Z",
+      "OrderIds": [
+        "88236a77-813d-a65a-3311-e1facde69736"
+      ],
+      "OrderVariables": "{}",
+      "PONumber": "n94ualw05x",
+      "PaymentMethods": [
+        {
+          "Amount": 131.25,
+          "MethodName": "Credit Card"
+        }
+      ],
+      "Products": [
+        {
+          "FulfillmentSystemProductId": "123456",
+          "ProductId": "cd3893db-3294-55af-c62d-a53eaf1dc4fa-5d9d746d-e52a-bd9f-ba5a-915619d64707-718a25da-9d81-7ac2-b708-cf464de524d8",
+          "ProductLineId": "2a551eb8-e7f9-b66a-adfb-6d996e232265|2890247614|1714493355",
+          "AssociatedFileName": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
+          "Comment": "This is a comment for 123456",
+          "IsDeleted": null,
+          "Price": 0.13,
+          "QuantityOrdered": 250,
+          "ShipToKey": 0,
+          "Status": null
+        },
+        {
+          "FulfillmentSystemProductId": "123456_2",
+          "ProductId": "963654b0-a14e-650c-d063-bef87afa9fa6-53fa7b3d-596e-8e63-07f0-596aa360b0b7-aba81b6f-703f-8746-98e4-3fba68b26704",
+          "ProductLineId": "a563df71-76c6-0b9e-7696-f121e537be31|2829663350|2620274204",
+          "AssociatedFileName": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
+          "Comment": "This is a comment for 123456_2",
+          "IsDeleted": null,
+          "Price": 0.13,
+          "QuantityOrdered": 375,
+          "ShipToKey": 0,
+          "Status": null
+        }
+      ],
+      "RushOrder": "True",
+      "ShipTos": [
+        {
+          "FulfillmentSystemShippingMethodId": "FedEx Ground",
+          "Comment": null,
+          "DueDate": null,
+          "Key": 0,
+          "PONumber": null,
+          "PaymentMethods": null,
+          "RushOrder": null,
+          "ShipToAddress": {
+            "Address1": "21133 Mraz Estate",
+            "Address2": null,
+            "Address3": null,
+            "City": "Port Novella",
+            "Company": null,
+            "Country": "United States",
+            "EmailAddress": "Leda.Hudson@yahoo.com",
+            "FaxNumber": "(389) 855-1980 x01354",
+            "Name": "Gerard Hamill",
+            "PhoneNumber": "778-483-8935",
+            "PostalCode": "16141-8021",
+            "StateProvince": "TX"
+          },
+          "ShippingCarrier": null,
+          "ShippingCost": 10.0,
+          "ShippingService": null,
+          "Status": null
+        }
+      ]
+    }
   ]
 }
diff --git a/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json b/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
index 3fd6e3b..b509438 100644
--- a/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
+++ b/schema/Event/FulfillmentOrder/FulfillmentOrderEvent.json
@@ -8,7 +8,12 @@
       "$ref": "../../Common/EventBase.json"
     },
     {
-      "$ref": "FulfillmentOrder.json"
+      "type": "object",
+      "properties": {
+        "FulfillmentOrder": {
+          "$ref": "FulfillmentOrder.json"
+        }
+      }
     },
     {
       "type": "object",
@@ -17,8 +22,11 @@
           "description": "Name of triggered event",
           "type": "string",
           "enum": [
-            "Fulfillment Order Created",
-            "Fulfillment Order Submitted"
+            "FulfillmentOrder Created",
+            "FulfillmentOrder Submitted to FulfillmentSystem",
+            "FulfillmentOrder Submission Failed",
+            "FulfillmentOrder Updated",
+            "FulfillmentOrder Validation Failed"
           ]
         }
       }
diff --git a/schema/Event/FulfillmentOrder/parts/BillTo.json b/schema/Event/FulfillmentOrder/parts/BillTo.json
index 0a370a7..3cd4461 100644
--- a/schema/Event/FulfillmentOrder/parts/BillTo.json
+++ b/schema/Event/FulfillmentOrder/parts/BillTo.json
@@ -3,6 +3,7 @@
   "$id": "BillTo.json",
   "description": "Bill to address object for Order",
   "type": "object",
+  "additionalProperties": false,
   "properties": {
     "Address1": {
       "description": "Address line 1 for address",
@@ -115,7 +116,7 @@
       "Key": 0,
       "Name": "Kristin Tyler",
       "PhoneNumber": "001-990-377-8647x21426",
-      "PostalCode": "02019",
+      "PostalCode": "69532",
       "StateProvince": "Idaho"
     }
   ]
diff --git a/schema/Event/FulfillmentOrder/parts/FOProduct.json b/schema/Event/FulfillmentOrder/parts/FOProduct.json
new file mode 100644
index 0000000..bc14d7a
--- /dev/null
+++ b/schema/Event/FulfillmentOrder/parts/FOProduct.json
@@ -0,0 +1,98 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "FOProduct.json",
+  "description": "FulfillmentOrder.Products level details",
+  "type": "object",
+  "title": "ApiFulfillmentOrderProduct",
+  "properties": {
+    "FulfillmentSystemProductId": {
+      "description": "Product ID in fulfillment system",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "ProductId": {
+      "description": "Unique ID for product within Integration Broker",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "ProductLineId": {
+      "description": "Identifier for product line within fulfillment order. Format: {fulfillmentSystemId}-{customerId}-{fulfillmentSystemProductId}",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "AssociatedFileName": {
+      "description": "Name of file associated to product (if applicable)",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "Comment": {
+      "description": "Comment for product",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "Price": {
+      "description": "Price of product line item",
+      "type": [
+        "number",
+        "null"
+      ]
+    },
+    "QuantityOrdered": {
+      "description": "Amount of product ordered",
+      "type": "integer"
+    },
+    "ShipToKey": {
+      "description": "ShipTo key for shipping this product",
+      "type": "integer"
+    },
+    "Status": {
+      "description": "Status of product line item",
+      "type": [
+        "string",
+        "null"
+      ]
+    }
+  },
+  "required": [
+    "ProductLineId",
+    "QuantityOrdered",
+    "FulfillmentSystemProductId",
+    "Price"
+  ],
+  "examples": [
+    {
+      "FulfillmentSystemProductId": "123456",
+      "ProductId": "77beb98f-d8c6-bf90-1456-a6e7504d678a-c0e6d4d7-a458-8dab-191a-87467ed2388c-cc96a6c8-dcea-204c-11c2-e4741262be75",
+      "ProductLineId": "69835a29-20fd-df3a-5f2a-915b9455fcf8|721917346|1761063354",
+      "AssociatedFileName": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
+      "Comment": "This is a comment for 123456",
+      "IsDeleted": null,
+      "Price": 0.13,
+      "QuantityOrdered": 250,
+      "ShipToKey": 0,
+      "Status": null
+    },
+    {
+      "FulfillmentSystemProductId": "123456_2",
+      "ProductId": "f03e85a9-3478-78bf-a214-b3eab2c643ba-3ae01e39-3493-5fce-12ef-dc8bb593950f-f25e49d2-1f8f-b80d-7cd9-bc41047d7464",
+      "ProductLineId": "d69e99b8-7a5c-20d5-1aa9-1d9080bb9be5|2794780662|1752188148",
+      "AssociatedFileName": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
+      "Comment": "This is a comment for 123456_2",
+      "IsDeleted": null,
+      "Price": 0.13,
+      "QuantityOrdered": 375,
+      "ShipToKey": 1,
+      "Status": null
+    }
+  ]
+}
diff --git a/schema/Event/FulfillmentOrder/parts/FOShipTo.json b/schema/Event/FulfillmentOrder/parts/FOShipTo.json
new file mode 100644
index 0000000..ef9168f
--- /dev/null
+++ b/schema/Event/FulfillmentOrder/parts/FOShipTo.json
@@ -0,0 +1,144 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "FOShipTo.json",
+  "description": "Fulfillment Order level ship to details",
+  "type": "object",
+  "title": "ApiFulfillmentOrderShipTo",
+  "properties": {
+    "FulfillmentSystemShippingMethodId": {
+      "description": "Shipping method ID in fulfillment system",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "ReferenceId": {
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "Comment": {
+      "description": "Manually entered comment for individual Order.ShipTos",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "DueDate": {
+      "description": "Datetime of expected due date for individual Order.ShipTos",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "Key": {
+      "description": "Unique ID for individual ship to",
+      "type": "integer"
+    },
+    "PONumber": {
+      "description": "Purchase order number for individual Order.ShipTos",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "PaymentMethods": {
+      "type": [
+        "array",
+        "null"
+      ],
+      "items": {
+        "$ref": "PaymentMethod.json"
+      }
+    },
+    "RushOrder": {
+      "description": "True/false indicator if individual Order.ShipTos is expedited",
+      "type": [
+        "boolean",
+        "null"
+      ]
+    },
+    "ShipToAddress": {
+      "$ref": "ShipToAddress.json",
+      "description": "Ship to addresses array for Order",
+      "examples": [
+        {
+          "Address1": "106 Tyler Street Suite 175",
+          "Address2": "3181 George Vista",
+          "Address3": "",
+          "City": "West Savannahside",
+          "Company": "Matthews, Mclean and Huynh",
+          "Country": "USA",
+          "EmailAddress": "ghunt@example.com",
+          "FaxNumber": "",
+          "Key": 0,
+          "PhoneNumber": "001-990-377-8647x21426",
+          "PostalCode": "02019",
+          "StateProvince": "Idaho"
+        }
+      ]
+    },
+    "ShippingCarrier": {
+      "description": "Shipping carrier",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "ShippingCost": {
+      "description": "Shipping cost for individual Order.ShipTos",
+      "type": [
+        "number",
+        "null"
+      ]
+    },
+    "ShippingService": {
+      "description": "Shipping service",
+      "type": [
+        "string",
+        "null"
+      ]
+    },
+    "Status": {
+      "description": "status",
+      "type": [
+        "string",
+        "null"
+      ]
+    }
+  },
+  "required": [
+    "FulfillmentSystemShippingMethodId"
+  ],
+  "examples": [
+    {
+      "FulfillmentSystemShippingMethodId": "FedEx Ground",
+      "ReferenceId": null,
+      "Comment": null,
+      "DueDate": null,
+      "Key": 0,
+      "PONumber": null,
+      "PaymentMethods": null,
+      "RushOrder": null,
+      "ShipToAddress": {
+        "Address1": "11832 Simonis Prairie",
+        "Address2": null,
+        "Address3": null,
+        "City": "Casperhaven",
+        "Company": null,
+        "Country": "United States",
+        "EmailAddress": "Gia_Mills@gmail.com",
+        "FaxNumber": "(739) 615-3707 x390",
+        "Name": "Ansel Leannon",
+        "PhoneNumber": "1-564-490-0380 x494",
+        "PostalCode": "90673-3604",
+        "StateProvince": "NV"
+      },
+      "ShippingCarrier": null,
+      "ShippingCost": 10.0,
+      "ShippingService": null,
+      "Status": null
+    }
+  ]
+}
diff --git a/schema/Event/FulfillmentOrder/parts/LineItem.json b/schema/Event/FulfillmentOrder/parts/LineItem.json
deleted file mode 100644
index f4ad695..0000000
--- a/schema/Event/FulfillmentOrder/parts/LineItem.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-  "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "LineItem.json",
-  "type": "object",
-  "properties": {
-    "OfferId": {
-      "type": "string"
-    },
-    "LineItemFee": {
-      "type": "number"
-    },
-    "OfferLineNumber": {
-      "type": "integer"
-    },
-    "Price": {
-      "type": "number"
-    },
-    "Products": {
-      "type": "array",
-      "items": {
-        "$ref": "Product.json"
-      }
-    },
-    "QuantityCanceled": {
-      "type": [
-        "integer",
-        "null"
-      ]
-    },
-    "QuantityOrdered": {
-      "type": "integer"
-    },
-    "Status": {
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "TaxAmount": {
-      "type": "number"
-    }
-  },
-  "required": [
-    "OfferId",
-    "QuantityOrdered",
-    "Price",
-    "Products"
-  ]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/OrderedBy.json b/schema/Event/FulfillmentOrder/parts/OrderedBy.json
deleted file mode 100644
index 4de17c5..0000000
--- a/schema/Event/FulfillmentOrder/parts/OrderedBy.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
-  "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "OrderedBy.json",
-  "description": "Bill to address object for Order",
-  "type": "object",
-  "properties": {
-    "Address1": {
-      "description": "Address line 1 for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "Address2": {
-      "description": "Address line 2 for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "Address3": {
-      "description": "Address line 3 for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "City": {
-      "description": "City name for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "Company": {
-      "description": "Company name for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "Country": {
-      "description": "Country name for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "EmailAddress": {
-      "description": "Contact email address for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "FaxNumber": {
-      "description": "Fax number for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "Key": {
-      "description": "Unique ID for individual contact",
-      "type": "integer",
-      "format": "int32"
-    },
-    "PhoneNumber": {
-      "description": "Phone number for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "PostalCode": {
-      "description": "Postal code for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "StateProvince": {
-      "description": "State or province name for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    }
-  },
-  "required": [
-    "Address1",
-    "City",
-    "Country",
-    "PostalCode",
-    "StateProvince"
-  ],
-  "examples": [
-    {
-      "Address1": "106 Tyler Street Suite 175",
-      "Address2": "3181 George Vista",
-      "Address3": "",
-      "City": "West Savannahside",
-      "Company": "Matthews, Mclean and Huynh",
-      "Country": "USA",
-      "EmailAddress": "ghunt@example.com",
-      "FaxNumber": "",
-      "Key": 0,
-      "PhoneNumber": "001-990-377-8647x21426",
-      "PostalCode": "02019",
-      "StateProvince": "Idaho"
-    }
-  ]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/Product.json b/schema/Event/FulfillmentOrder/parts/Product.json
deleted file mode 100644
index 9223840..0000000
--- a/schema/Event/FulfillmentOrder/parts/Product.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-  "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "Product.json",
-  "type": "object",
-  "properties": {
-    "FulfillmentSystemProductId": {
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "ProductId": {
-      "type": "string"
-    },
-    "OfferLineNumber": {
-      "type": "integer"
-    },
-    "ProductLineNumber": {
-      "type": "integer"
-    },
-    "QuantityBackordered": {
-      "type": "integer"
-    },
-    "QuantityOrdered": {
-      "type": "integer"
-    }
-  },
-  "required": [
-    "ProductId",
-    "QuantityOrdered"
-  ]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/ShipTo.json b/schema/Event/FulfillmentOrder/parts/ShipTo.json
deleted file mode 100644
index 8c7057d..0000000
--- a/schema/Event/FulfillmentOrder/parts/ShipTo.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
-  "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "ShipTo.json",
-  "type": "object",
-  "properties": {
-    "FulfillmentSystemShippingMethodId": {
-      "type": "string"
-    },
-    "Key": {
-      "type": "integer"
-    },
-    "OrderFee": {
-      "type": "number"
-    },
-    "ShipToAddress": {
-      "$ref": "ShipToAddress.json"
-    },
-    "ShippingCarrier": {
-      "type": "string"
-    },
-    "ShippingCost": {
-      "type": "number"
-    },
-    "ShippingService": {
-      "type": "string"
-    },
-    "Status": {
-      "type": "string"
-    }
-  },
-  "required": [
-    "Key",
-    "ShipToAddress"
-  ]
-}
diff --git a/schema/Event/FulfillmentOrder/parts/ShipToAddress.json b/schema/Event/FulfillmentOrder/parts/ShipToAddress.json
index 007f585..4a5b179 100644
--- a/schema/Event/FulfillmentOrder/parts/ShipToAddress.json
+++ b/schema/Event/FulfillmentOrder/parts/ShipToAddress.json
@@ -1,8 +1,9 @@
 {
   "$schema": "http://json-schema.org/draft-07/schema#",
   "$id": "ShipToAddress.json",
-  "description": "Bill to address object for Order",
+  "description": "Ship to addresses array for Order",
   "type": "object",
+  "additionalProperties": false,
   "properties": {
     "Address1": {
       "description": "Address line 1 for address",
@@ -61,9 +62,13 @@
       ]
     },
     "Key": {
-      "description": "Unique ID for individual contact",
-      "type": "integer",
-      "format": "int32"
+      "description": "Unique ID for individual contact"
+    },
+    "Name": {
+      "type": [
+        "string",
+        "null"
+      ]
     },
     "PhoneNumber": {
       "description": "Phone number for address",
@@ -91,6 +96,7 @@
     "Address1",
     "City",
     "Country",
+    "Name",
     "PostalCode",
     "StateProvince"
   ],
@@ -105,6 +111,7 @@
       "EmailAddress": "ghunt@example.com",
       "FaxNumber": "",
       "Key": 0,
+      "Name": "Kristin Tyler",
       "PhoneNumber": "001-990-377-8647x21426",
       "PostalCode": "02019",
       "StateProvince": "Idaho"
diff --git a/schema/Event/ShippingOrder/ShippingOrder.json b/schema/Event/ShippingOrder/ShippingOrder.json
deleted file mode 100644
index f598518..0000000
--- a/schema/Event/ShippingOrder/ShippingOrder.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "ShippingOrder.json",
-  "description": "Shipping order level details",
-  "type": "object",
-  "properties": {
-    "ShippingOrder": {
-      "$ref": "./parts/ShippingOrder.json"
-    }
-  }
-}
diff --git a/schema/Event/ShippingOrder/ShippingOrderEvent.json b/schema/Event/ShippingOrder/ShippingOrderEvent.json
deleted file mode 100644
index 75a21c2..0000000
--- a/schema/Event/ShippingOrder/ShippingOrderEvent.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-  "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "ShippingOrderEvent.json",
-  "description": "Details for Shipping Order JSON schema",
-  "type": "object",
-  "allOf": [
-    {
-      "$ref": "../../Common/EventBase.json"
-    },
-    {
-      "type": "object",
-      "properties": {
-        "ShippingOrder": {
-          "$ref": "ShippingOrder.json"
-        }
-      }
-    },
-    {
-      "type": "object",
-      "properties": {
-        "EventName": {
-          "description": "Name of triggered event",
-          "type": "string",
-          "enum": [
-            "Shipping Order Created",
-            "Shipping Order Sent",
-            "Shipping Order Marked",
-            "Shipping Order Picked",
-            "Shipping Order Packed",
-            "Shipping Order Completed",
-            "Shipping Order Canceled",
-            "Shipping Order Updated",
-            "Shipping Order Intercepted"
-          ]
-        }
-      }
-    }
-  ]
-}
diff --git a/schema/Event/ShippingOrder/parts/Package.json b/schema/Event/ShippingOrder/parts/Package.json
deleted file mode 100644
index 827ab8a..0000000
--- a/schema/Event/ShippingOrder/parts/Package.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
-  "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "Package.json",
-  "type": "object",
-  "properties": {
-    "PackageId": {
-      "description": "Unique ID of package assigned by carrier",
-      "type": "string"
-    },
-    "TrackingId": {
-      "description": "Unique tracking ID assigned by carrier",
-      "type": "string"
-    },
-    "AdditionalCharge": {
-      "description": "Additional charges applied to individual package",
-      "type": "number"
-    },
-    "DateTimeShipped": {
-      "description": "Server based datetime of when shipment was processed",
-      "type": "string"
-    },
-    "DateTimeShippedUtc": {
-      "description": "UTC based datetime of when shipment was processed",
-      "type": "string"
-    },
-    "Freight": {
-      "description": "Shipping cost of individual package",
-      "type": "number"
-    },
-    "Weight": {
-      "description": "Weight of individual package",
-      "type": "number"
-    }
-  },
-  "required": [
-    "AdditionalCharge",
-    "DateTimeShipped",
-    "DateTimeShippedUtc",
-    "Freight",
-    "TrackingId",
-    "Weight"
-  ]
-}
diff --git a/schema/Event/ShippingOrder/parts/Product.json b/schema/Event/ShippingOrder/parts/Product.json
deleted file mode 100644
index ddb3f3a..0000000
--- a/schema/Event/ShippingOrder/parts/Product.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
-  "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "Product.json",
-  "type": "object",
-  "properties": {
-    "PackageId": {
-      "description": "Unique ID of package assigned by carrier",
-      "type": "string"
-    },
-    "Color": {
-      "description": "Color of product",
-      "type": "string"
-    },
-    "OrderOfferLineItemNumber": {
-      "description": "Unique ID for line item pulled from Order.LineItems.LineNumber property",
-      "type": "integer"
-    },
-    "OrderProductLineNumber": {
-      "description": "Unique ID for line item product pulled from Order.LineItems.Products.LineNumber property",
-      "type": "integer"
-    },
-    "ProductDescription": {
-      "description": "Description for product within product management system (system where ordered line item products will be managed)",
-      "type": "string"
-    },
-    "ProductNumber": {
-      "description": "Unique ID for product within product management system (system where ordered line item products will be managed)",
-      "type": "string"
-    },
-    "ProductOwner": {
-      "description": "Owner of product",
-      "type": "string"
-    },
-    "ProductVersion": {
-      "description": "Unique ID for product version within product management system (system where ordered line item products will be managed)",
-      "type": "string"
-    },
-    "ShipQuantity": {
-      "description": "Amount of individual product shipped within shipment",
-      "type": "integer"
-    },
-    "Size": {
-      "description": "Size of product",
-      "type": "string"
-    }
-  },
-  "required": [
-    "OrderOfferLineItemNumber",
-    "OrderProductLineNumber",
-    "ProductDescription",
-    "ProductNumber",
-    "ProductOwner",
-    "ShipQuantity"
-  ]
-}
diff --git a/schema/Event/ShippingOrder/parts/Shipment.json b/schema/Event/ShippingOrder/parts/Shipment.json
deleted file mode 100644
index b7311a3..0000000
--- a/schema/Event/ShippingOrder/parts/Shipment.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
-  "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "Shipment.json",
-  "description": "ShippingOrder shipment level details",
-  "type": "object",
-  "properties": {
-    "PackSlipId": {
-      "description": "Unique ID for shipping order packslip",
-      "type": "string"
-    },
-    "AdditionalCharge": {
-      "description": "For future use. Total additional charges of all packages in shipment",
-      "type": "number"
-    },
-    "Address1": {
-      "description": "Address line 1 for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "Address2": {
-      "description": "Address line 2 for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "Address3": {
-      "description": "Address line 3 for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "Carrier": {
-      "description": "Name of carrier company used to process shipment",
-      "type": "string"
-    },
-    "City": {
-      "description": "City name for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "Company": {
-      "description": "Company name for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "Country": {
-      "description": "Country name for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "EmailAddress": {
-      "description": "Contact email address for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "FaxNumber": {
-      "description": "Fax number for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "Freight": {
-      "description": "For future use. Total shipping cost of all packages in shipment",
-      "type": "number"
-    },
-    "Packages": {
-      "description": "Packages array for ShippingOrderWrapped.Weight",
-      "type": [
-        "array",
-        "null"
-      ],
-      "items": {
-        "$ref": "Package.json"
-      }
-    },
-    "PhoneNumber": {
-      "description": "Phone number for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "PostalCode": {
-      "description": "Postal code for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "Products": {
-      "description": "Products array for ShippingOrderWrapped.Size",
-      "type": [
-        "array",
-        "null"
-      ],
-      "items": {
-        "$ref": "Product.json"
-      }
-    },
-    "Service": {
-      "description": "Name of carrier shipping method used for shipment",
-      "type": "string"
-    },
-    "StateProvince": {
-      "description": "State or province name for address",
-      "type": [
-        "string",
-        "null"
-      ]
-    }
-  },
-  "required": [
-    "Address1",
-    "Carrier",
-    "City",
-    "Country",
-    "DestinationAddress",
-    "PostalCode",
-    "Service",
-    "StateProvince"
-  ],
-  "examples": [
-    {
-      "Address1": "106 Tyler Street Suite 175",
-      "Address2": "3181 George Vista",
-      "Address3": "",
-      "City": "West Savannahside",
-      "Company": "Matthews, Mclean and Huynh",
-      "Country": "USA",
-      "EmailAddress": "ghunt@example.com",
-      "FaxNumber": "",
-      "PhoneNumber": "001-990-377-8647x21426",
-      "PostalCode": "02019",
-      "StateProvince": "Idaho"
-    }
-  ]
-}
diff --git a/schema/Event/ShippingOrder/parts/ShippingOrder.json b/schema/Event/ShippingOrder/parts/ShippingOrder.json
deleted file mode 100644
index 2093b2d..0000000
--- a/schema/Event/ShippingOrder/parts/ShippingOrder.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
-  "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "ShippingOrder.json",
-  "description": "Shipping order level details",
-  "type": "object",
-  "properties": {
-    "FulfillmentSystemCustomerId": {
-      "description": "Unique ID for customer within warehouse/fulfillment management system (system where product fulfillment will be managed)",
-      "type": "string"
-    },
-    "FulfillmentSystemId": {
-      "description": "Unique ID for warehouse/fulfillment management system (system where product fulfillment will be managed)",
-      "type": "integer"
-    },
-    "FulfillmentSystemLocationId": {
-      "description": "Unique ID for fulfillment location within warehouse/fulfillment management system (system where product fulfillment will be managed)",
-      "type": "string"
-    },
-    "FulfillmentSystemShippingOrderId": {
-      "description": "Unique ID for shipping order within warehouse/fulfillment management system (system where product fulfillment will be managed)",
-      "type": "string"
-    },
-    "OrderId": {
-      "description": "Unique ID for OMS order that generated this shipping order",
-      "type": "string"
-    },
-    "PickSlipId": {
-      "description": "Unique ID for shipping order pickslip",
-      "type": [
-        "string",
-        "null"
-      ]
-    },
-    "ShippingOrderId": {
-      "description": "Unique ID for shipping order within order management system (system where order lifecycle will be managed)",
-      "type": "string"
-    },
-    "FulfillmentSystemLocationName": {
-      "description": "Name for fulfillment location within warehouse/fulfillment management system (system where product fulfillment will be managed).",
-      "type": "string"
-    },
-    "ShipToKey": {
-      "description": "Key of corresponding ShipTo from the OMS order that generated this shipping order",
-      "type": "integer"
-    },
-    "Shipments": {
-      "description": "Shipments array for ShippingOrderWrapped.Service",
-      "type": [
-        "array",
-        "null"
-      ],
-      "items": {
-        "$ref": "Shipment.json"
-      }
-    },
-    "Status": {
-      "description": "Current status of shipping order",
-      "type": "string",
-      "possibleValues": "Sent, Created, Picked, Packed, Completed, or Canceled"
-    }
-  },
-  "required": [
-    "FulfillmentSystemCustomerId",
-    "FulfillmentSystemId",
-    "OrderId",
-    "Products",
-    "ShippingOrderId"
-  ]
-}