# 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 Promotion Result Products API version: 1.0.0 extends: openapi/optimizely-promotion-result-products-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/PromotionResultProducts'].get update: x-apievangelist-phrasing: intent: List promotion result products effect: read questions: - Which products are tied to my promotion results, like free-gift items? - Can I filter promotion result products to a single promotion result? instructions: - text: List all promotion result products. - text: List promotion result products where {filter}. slots: filter: query.$filter - text: Return the first {top} promotion result products. slots: top: query.$top method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResultProducts'].post update: x-apievangelist-phrasing: intent: Attach a product to a promotion result effect: write questions: - How do I link a product to a promotion's outcome? - Can I add a product to an existing promotion result? instructions: - text: Attach product {productId} to promotion result {promotionResultId}. slots: productId: requestBody.productId promotionResultId: requestBody.promotionResultId - text: Create a promotion result product for result {promotionResultId}. slots: promotionResultId: requestBody.promotionResultId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResultProducts({id})'].get update: x-apievangelist-phrasing: intent: Get a promotion result product by id effect: read questions: - Which product and promotion result does one link record connect? - Can I look up a single promotion result product by id? instructions: - text: Get promotion result product {id}. slots: id: path.id - text: Fetch promotion result product {id} with {expand} expanded. slots: id: path.id expand: query.$expand method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResultProducts({id})'].put update: x-apievangelist-phrasing: intent: Replace a promotion result product effect: write questions: - How do I overwrite a promotion result product record entirely? - What does a full replace of a promotion result product need? instructions: - text: Replace promotion result product {id} with product {productId} and result {promotionResultId}. slots: id: path.id productId: requestBody.productId promotionResultId: requestBody.promotionResultId - text: Overwrite the full promotion result product record {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResultProducts({id})'].delete update: x-apievangelist-phrasing: intent: Remove a product from a promotion result effect: destructive questions: - Can I unlink one product from a promotion result by id? - Does deleting a promotion result product accept an If-Match ETag? instructions: - text: Delete promotion result product {id}. slots: id: path.id - text: Delete promotion result product {id} if its ETag is {etag}. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResultProducts({id})'].patch update: x-apievangelist-phrasing: intent: Swap the product on a promotion result link effect: write questions: - How do I change which product a promotion result points to? - Can I move a promotion result product to a different result without a full replace? instructions: - text: Change promotion result product {id} to product {productId}. slots: id: path.id productId: requestBody.productId - text: Move promotion result product {id} to result {promotionResultId}. slots: id: path.id promotionResultId: requestBody.promotionResultId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResultProducts/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get a blank promotion result product template effect: read questions: - What default values does a new promotion result product have? - Is there an empty promotion result product template? instructions: - text: Get the default promotion result product template. - text: Show the defaults for a new promotion result product. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/promotionresultproducts/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete promotion result products effect: destructive questions: - Can I remove many promotion result products in one call? - How do I delete a list of promotion result products by id? instructions: - text: Bulk delete promotion result products {ids}. slots: ids: query.ids - text: Remove the promotion result products with ids {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/promotionresultproducts({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property of a promotion result product effect: read questions: - What custom property values are stored on a promotion result product? - Can I read one extension field from a promotion result product? instructions: - text: Get custom property {custompropertyKey} of promotion result product {key}. slots: custompropertyKey: path.custompropertyKey key: path.key - text: Read custom field {custompropertyKey} on promotion result product {key}. slots: custompropertyKey: path.custompropertyKey key: path.key method: generated generated: '2026-09-26'