An optional property may be absent because its name is not included in the applicable required list. For input objects, consumers may omit it; for output objects, the API may omit it. section 7.4.6
Product resource
A Product schema requires productReference, name, category, price, and dateAdded. Description, keywords, and isProductUnavailable remain optional because they are absent from required. A nested supplier object can define its own required list. section 7.4.6
Optionality also supports compatible API evolution: make previously required input data optional or add new optional data. Consumers that do not know the new property can continue sending earlier requests. section 15.2.2

