Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Admin API V1 Promotion Results API

17 actions 17 updates phrasing extends openapi/optimizely-promotion-results-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Optimizely's API. It is a proposal applied on top of the contract, not a document Optimizely publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 17 · first 16 shown; the file carries all of them

$.info
$.paths['/api/v1/admin/PromotionResults'].get
$.paths['/api/v1/admin/PromotionResults'].post
$.paths['/api/v1/admin/PromotionResults({id})'].get
$.paths['/api/v1/admin/PromotionResults({id})'].put
$.paths['/api/v1/admin/PromotionResults({id})'].delete
$.paths['/api/v1/admin/PromotionResults({id})'].patch
$.paths['/api/v1/admin/PromotionResults/Default.Default()'].get
$.paths['/api/v1/admin/PromotionResults({id})/Default.import'].post
$.paths['/api/v1/admin/PromotionResults/Default.createtemporary'].post
$.paths['/api/v1/admin/PromotionResults/Default.copyfromtemporary'].post
$.paths['/api/v1/admin/promotionresults/createtemporary'].post
$.paths['/api/v1/admin/promotionresults/copyfromtemporary'].post
$.paths['/api/v1/admin/promotionresults({key})/import'].post
$.paths['/api/v1/admin/promotionresults/delete'].delete
$.paths['/api/v1/admin/promotionresults({key})/customproperties({custompropertyKey})'].get

OpenAPI Overlay

Raw ↑
# 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'