# 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 Results API version: 1.0.0 extends: openapi/optimizely-promotion-results-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: 16 - target: $.paths['/api/v1/admin/PromotionResults'].get update: x-apievangelist-phrasing: intent: List promotion results effect: read questions: - What discounts and rewards are configured across promotions? - Can I filter promotion results by result type? instructions: - text: List all promotion results. - text: Show promotion results matching {filter}. slots: filter: query.$filter method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResults'].post update: x-apievangelist-phrasing: intent: Create a promotion result effect: write questions: - How do I add a percentage discount reward to a promotion? - Can a promotion result give free shipping via a specific ship via? instructions: - text: Create a {promotionResultType} result for promotion {promotionId}. slots: promotionResultType: requestBody.promotionResultType promotionId: requestBody.promotionId - text: Add a {promotionResultType} result worth {amount} to promotion {promotionId}. slots: promotionResultType: requestBody.promotionResultType amount: requestBody.amount promotionId: requestBody.promotionId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResults({id})'].get update: x-apievangelist-phrasing: intent: Get a promotion result effect: read questions: - What reward does a particular promotion result grant? - Can I look up one promotion result by its ID? instructions: - text: Get promotion result {id}. slots: id: path.id - text: Show the amount and type of promotion result {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResults({id})'].put update: x-apievangelist-phrasing: intent: Replace a promotion result entirely effect: write questions: - How do I overwrite every field of a promotion result? - Can I fully replace a promotion result record? instructions: - text: Replace promotion result {id} with type {promotionResultType}. slots: id: path.id promotionResultType: requestBody.promotionResultType - text: Overwrite all fields of promotion result {id}, setting amount {amount} and type {promotionResultType}. slots: id: path.id amount: requestBody.amount promotionResultType: requestBody.promotionResultType method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResults({id})'].delete update: x-apievangelist-phrasing: intent: Delete a promotion result effect: destructive questions: - How do I remove a single reward from a promotion? - Is a promotion result deletion guarded by an If-Match check? instructions: - text: Delete promotion result {id}. slots: id: path.id - text: Remove promotion result {id} if its ETag is {ifMatch}. slots: id: path.id ifMatch: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResults({id})'].patch update: x-apievangelist-phrasing: intent: Update some fields of a promotion result effect: write questions: - How do I change just the discount amount on a promotion result? - Can I toggle whether a promotion result is visible? instructions: - text: Change the amount on promotion result {id} to {amount}, keeping type {promotionResultType}. slots: id: path.id amount: requestBody.amount promotionResultType: requestBody.promotionResultType - text: Set visible to {visible} on promotion result {id} of type {promotionResultType}. slots: id: path.id visible: requestBody.visible promotionResultType: requestBody.promotionResultType method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResults/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get default values for a new promotion result effect: read questions: - What defaults does a new promotion result start with? - Is there a blank promotion result template? instructions: - text: Get the default field values for a new promotion result. - text: Show a blank promotion result record. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResults({id})/Default.import'].post update: x-apievangelist-phrasing: intent: Import products into a promotion result effect: write questions: - How do I import a product list into a promotion result using the OData import action? - Can I bulk load qualifying products onto a promotion result? instructions: - text: Run the import action for promotion result {id}. slots: id: path.id - text: Import products into promotion result {id} via the Default.import action. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResults/Default.createtemporary'].post update: x-apievangelist-phrasing: intent: Create a temporary copy of a promotion result effect: write questions: - How do I make a temporary working copy of an existing promotion result? - Can I stage edits to a promotion result in a temporary record first? instructions: - text: Create a temporary copy of promotion result {existingPromotionResultId}. slots: existingPromotionResultId: requestBody.existingPromotionResultId - text: Start a temporary draft from promotion result {existingPromotionResultId}. slots: existingPromotionResultId: requestBody.existingPromotionResultId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PromotionResults/Default.copyfromtemporary'].post update: x-apievangelist-phrasing: intent: Copy a temporary promotion result onto the real one effect: write questions: - How do I apply staged temporary changes back to the original promotion result? - Can I copy a temporary promotion result over its target? instructions: - text: Copy temporary promotion result {tempPromotionResultId} onto {targetPromotionResultId}. slots: tempPromotionResultId: requestBody.tempPromotionResultId targetPromotionResultId: requestBody.targetPromotionResultId - text: Save temp result {tempPromotionResultId} back to promotion result {targetPromotionResultId}. slots: tempPromotionResultId: requestBody.tempPromotionResultId targetPromotionResultId: requestBody.targetPromotionResultId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/promotionresults/createtemporary'].post update: x-apievangelist-phrasing: intent: Create a temporary promotion result (route) effect: write questions: - Is there a plain route version of createtemporary for promotion results? - Can I call createtemporary on promotion results without the OData action path? instructions: - text: Call the promotionresults/createtemporary route. - text: Create a temporary promotion result using the non-OData route. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/promotionresults/copyfromtemporary'].post update: x-apievangelist-phrasing: intent: Copy from temporary promotion result (route) effect: write questions: - Is there a plain route version of copyfromtemporary for promotion results? - Can I run copyfromtemporary without the OData Default action? instructions: - text: Call the promotionresults/copyfromtemporary route. - text: Copy from the temporary promotion result using the non-OData route. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/promotionresults({key})/import'].post update: x-apievangelist-phrasing: intent: Import products into a promotion result (route) effect: write questions: - Is there a plain route for importing products into a promotion result by key? - Can I trigger the product import on a promotion result without the OData action? instructions: - text: Import products into promotion result {key} using the import route. slots: key: path.key - text: Call the promotionresults import route for {key}. slots: key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/promotionresults/delete'].delete update: x-apievangelist-phrasing: intent: Delete several promotion results effect: destructive questions: - How do I bulk delete a list of promotion results? - Can I remove multiple promotion results in one request? instructions: - text: Bulk delete promotion results {ids}. slots: ids: query.ids - text: Permanently delete every promotion result in {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/promotionresults({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property on a promotion result effect: read questions: - How do I read a custom property on a promotion result? - Can I fetch one custom field value from a promotion result? instructions: - text: Get custom property {custompropertyKey} of promotion result {key}. slots: key: path.key custompropertyKey: path.custompropertyKey - text: Show the {custompropertyKey} custom property on promotion result {key}. slots: key: path.key custompropertyKey: path.custompropertyKey method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/promotionresults({key})/products({productKey})'].get update: x-apievangelist-phrasing: intent: Get a product attached to a promotion result effect: read questions: - Which product details are linked to a promotion result? - Can I check whether a specific product belongs to a promotion result? instructions: - text: Get product {productKey} on promotion result {key}. slots: key: path.key productKey: path.productKey - text: Show linked product {productKey} for promotion result {key}. slots: key: path.key productKey: path.productKey method: generated generated: '2026-09-26'