Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Admin API V1 Website Product Cross Sells API

10 actions 10 updates phrasing extends openapi/optimizely-website-product-cross-sells-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 10

$.info
$.paths['/api/v1/admin/WebsiteProductCrossSells'].get
$.paths['/api/v1/admin/WebsiteProductCrossSells'].post
$.paths['/api/v1/admin/WebsiteProductCrossSells({id})'].get
$.paths['/api/v1/admin/WebsiteProductCrossSells({id})'].put
$.paths['/api/v1/admin/WebsiteProductCrossSells({id})'].delete
$.paths['/api/v1/admin/WebsiteProductCrossSells({id})'].patch
$.paths['/api/v1/admin/WebsiteProductCrossSells/Default.Default()'].get
$.paths['/api/v1/admin/websiteproductcrosssells/delete'].delete
$.paths['/api/v1/admin/websiteproductcrosssells({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 Website Product Cross Sells API
  version: 1.0.0
extends: openapi/optimizely-website-product-cross-sells-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/WebsiteProductCrossSells'].get
  update:
    x-apievangelist-phrasing:
      intent: List website product cross-sells
      effect: read
      questions:
      - Which products are set up as cross-sells on each website?
      - Can I filter cross-sell records to one website?
      instructions:
      - text: List all website product cross-sells.
      - text: Show website cross-sells matching {filter}.
        slots:
          filter: query.$filter
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/WebsiteProductCrossSells'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a product as a website cross-sell
      effect: write
      questions:
      - How do I promote a product as a cross-sell on one storefront?
      - Can I set up site-wide cross-sell products per website?
      instructions:
      - text: Add product {productId} as a cross-sell on website {websiteId}.
        slots:
          websiteId: requestBody.websiteId
          productId: requestBody.productId
      - text: Create a website cross-sell for {productId} on site {websiteId}.
        slots:
          websiteId: requestBody.websiteId
          productId: requestBody.productId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/WebsiteProductCrossSells({id})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a website cross-sell record
      effect: read
      questions:
      - Which product and website does a cross-sell record point to?
      - Can I look up one website cross-sell by ID?
      instructions:
      - text: Get website cross-sell {id}.
        slots:
          id: path.id
      - text: Show the product and site for cross-sell {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/WebsiteProductCrossSells({id})'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a website cross-sell record
      effect: write
      questions:
      - How do I overwrite a website cross-sell completely?
      - Can I fully replace the product and website on a cross-sell?
      instructions:
      - text: Replace website cross-sell {id} with product {productId} on website {websiteId}.
        slots:
          websiteId: requestBody.websiteId
          productId: requestBody.productId
          id: path.id
      - text: Overwrite all fields of website cross-sell {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/WebsiteProductCrossSells({id})'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a website cross-sell
      effect: destructive
      questions:
      - How do I stop cross-selling a product on a website?
      - Does deleting a website cross-sell support If-Match?
      instructions:
      - text: Delete website cross-sell {id}.
        slots:
          id: path.id
      - text: Remove website cross-sell {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/WebsiteProductCrossSells({id})'].patch
  update:
    x-apievangelist-phrasing:
      intent: Swap the product on a website cross-sell
      effect: write
      questions:
      - How do I change which product an existing cross-sell promotes?
      - Can I move a cross-sell record to another website?
      instructions:
      - text: Swap the product on existing cross-sell {id} to {productId}.
        slots:
          id: path.id
          productId: requestBody.productId
      - text: Move website cross-sell {id} to website {websiteId}.
        slots:
          id: path.id
          websiteId: requestBody.websiteId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/WebsiteProductCrossSells/Default.Default()'].get
  update:
    x-apievangelist-phrasing:
      intent: Get defaults for a new website cross-sell
      effect: read
      questions:
      - What defaults does a new website cross-sell start with?
      - Is there a blank website cross-sell template?
      instructions:
      - text: Get the default field values for a new website cross-sell.
      - text: Show a blank website cross-sell record.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/websiteproductcrosssells/delete'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete several website cross-sells
      effect: destructive
      questions:
      - How do I bulk remove website cross-sell records?
      - Can I delete many website cross-sells in one request?
      instructions:
      - text: Bulk delete website cross-sells {ids}.
        slots:
          ids: query.ids
      - text: Permanently delete every website cross-sell in {ids}.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/websiteproductcrosssells({key})/customproperties({custompropertyKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a custom property on a website cross-sell
      effect: read
      questions:
      - How do I read a custom property on a website cross-sell?
      - Can I fetch one custom field value from a cross-sell record?
      instructions:
      - text: Get custom property {custompropertyKey} of website cross-sell {key}.
        slots:
          key: path.key
          custompropertyKey: path.custompropertyKey
      - text: Show the {custompropertyKey} custom property on website cross-sell {key}.
        slots:
          key: path.key
          custompropertyKey: path.custompropertyKey
      method: generated
      generated: '2026-09-26'