# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Admin API V1 Product Unit Of Measures API version: 1.0.0 extends: openapi/optimizely-product-unit-of-measures-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 9 - target: $.paths['/api/v1/admin/ProductUnitOfMeasures'].get update: x-apievangelist-phrasing: intent: List product units of measure effect: read questions: - How do I list all the selling units, like each, box or case, defined across products? - Can I filter units of measure to one product with $filter? instructions: - text: List product units of measure matching {filter}. slots: filter: query.$filter - text: Show product units of measure sorted by {orderby}. slots: orderby: query.$orderby method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductUnitOfMeasures'].post update: x-apievangelist-phrasing: intent: Add a unit of measure to a product effect: write questions: - What do I need to add a case or box unit to a product? - Can I set how many base units are in a new unit of measure and make it the default? instructions: - text: Add unit {unitOfMeasure} described as {description} to product {productId} with rounding rule {roundingRule}. slots: unitOfMeasure: requestBody.unitOfMeasure description: requestBody.description productId: requestBody.productId roundingRule: requestBody.roundingRule - text: Create unit {unitOfMeasure} holding {qtyPerBaseUnitOfMeasure} base units for product {productId}. slots: unitOfMeasure: requestBody.unitOfMeasure qtyPerBaseUnitOfMeasure: requestBody.qtyPerBaseUnitOfMeasure productId: requestBody.productId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductUnitOfMeasures({id})'].get update: x-apievangelist-phrasing: intent: Get one product unit of measure effect: read questions: - Where do I look up a single product unit of measure by its id? - What conversion quantity and rounding rule does a given unit record hold? instructions: - text: Get product unit of measure {id}. slots: id: path.id - text: Show the conversion quantity on unit record {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductUnitOfMeasures({id})'].put update: x-apievangelist-phrasing: intent: Replace a product unit of measure effect: write questions: - How do I overwrite a product unit of measure record completely? - Does a full replace require the unit code, description and rounding rule again? instructions: - text: Replace unit record {id} with unit {unitOfMeasure}, description {description} and rounding {roundingRule}. slots: id: path.id unitOfMeasure: requestBody.unitOfMeasure description: requestBody.description roundingRule: requestBody.roundingRule - text: Overwrite the entire product unit of measure {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductUnitOfMeasures({id})'].delete update: x-apievangelist-phrasing: intent: Delete a product unit of measure effect: destructive questions: - Can I remove a unit of measure a product no longer sells in? - Is an If-Match ETag supported when deleting a unit of measure? instructions: - text: Delete product unit of measure {id}. slots: id: path.id - text: Delete unit record {id} if ETag {etag} still matches. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductUnitOfMeasures({id})'].patch update: x-apievangelist-phrasing: intent: Update fields on a product unit of measure effect: write questions: - Can I make an existing unit of measure the product's default? - How do I change the sale multiple on one unit without replacing it? instructions: - text: 'Set unit record {id} as default: {isDefault}.' slots: id: path.id isDefault: requestBody.isDefault - text: Change the multiple sale quantity on unit {id} to {multipleSaleQty}. slots: id: path.id multipleSaleQty: requestBody.multipleSaleQty method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductUnitOfMeasures/Default.Default()'].get update: x-apievangelist-phrasing: intent: Call the Default function on units of measure effect: read questions: - What does the Default function on ProductUnitOfMeasures return? - Where do I get the default product unit of measure entity? instructions: - text: Call the Default function on ProductUnitOfMeasures. - text: Fetch the default product unit of measure entity. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/productunitofmeasures/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete product units of measure effect: destructive questions: - Can I delete many unit of measure records at once by id? - Is there a bulk removal for obsolete product units? instructions: - text: Bulk delete product units of measure {ids}. slots: ids: query.ids - text: Remove every unit record in the id list {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/productunitofmeasures({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property on a unit of measure effect: read questions: - How do I read a custom property stored on a product unit of measure? - Can I fetch one extension field from a unit record? instructions: - text: Get custom property {custompropertyKey} of unit of measure {key}. slots: key: path.key custompropertyKey: path.custompropertyKey - text: Show custom field {custompropertyKey} on product unit {key}. slots: key: path.key custompropertyKey: path.custompropertyKey method: generated generated: '2026-09-26'