# 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 Also Purchased Withs API version: 1.0.0 extends: openapi/optimizely-product-also-purchased-withs-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/ProductAlsoPurchasedWiths'].get update: x-apievangelist-phrasing: intent: List frequently-bought-together product pairs effect: read questions: - Which products are most often bought together with each other? - Can I sort also-purchased pairs by weighted score to find the strongest matches? - How many also-purchased-with records exist for our catalog? instructions: - text: List all also-purchased-with product pairs. - text: List also-purchased pairs where {filter}, ordered by {orderby}. slots: filter: query.$filter orderby: query.$orderby - text: Show the top {top} bought-together records. slots: top: query.$top method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductAlsoPurchasedWiths'].post update: x-apievangelist-phrasing: intent: Add a bought-together product pair effect: write questions: - How do I record that one product is commonly purchased with another? - Can I store a repeat purchase rate and weighted score on an also-purchased pair? instructions: - text: Record product {matchProductId} as also purchased with product {productId}. slots: matchProductId: requestBody.matchProductId productId: requestBody.productId - text: Add an also-purchased pair of {productId} and {matchProductId} with weighted score {weightedScore}. slots: productId: requestBody.productId matchProductId: requestBody.matchProductId weightedScore: requestBody.weightedScore method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductAlsoPurchasedWiths({id})'].get update: x-apievangelist-phrasing: intent: Get an also-purchased-with record effect: read questions: - How many customers bought a given product pair together? - Can I fetch one also-purchased record by its id? instructions: - text: Get also-purchased-with record {id}. slots: id: path.id - text: Show the customer count and score for bought-together record {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductAlsoPurchasedWiths({id})'].put update: x-apievangelist-phrasing: intent: Replace an also-purchased-with record effect: write questions: - Can I overwrite all the stats on a bought-together record at once? - Will a full replace of an also-purchased record reset the counts I omit? instructions: - text: Replace also-purchased record {id} with customer count {customerCount} and combination count {productCombinationCount}. slots: id: path.id customerCount: requestBody.customerCount productCombinationCount: requestBody.productCombinationCount - text: Overwrite the whole bought-together record {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductAlsoPurchasedWiths({id})'].delete update: x-apievangelist-phrasing: intent: Delete an also-purchased-with record effect: destructive questions: - How do I remove a bought-together suggestion that no longer makes sense? - Can the delete be conditioned on an If-Match ETag? instructions: - text: Delete also-purchased-with record {id}. slots: id: path.id - text: Delete bought-together record {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/ProductAlsoPurchasedWiths({id})'].patch update: x-apievangelist-phrasing: intent: Update the scores on an also-purchased record effect: write questions: - Can I adjust only the weighted score of a bought-together pair? - Is it possible to update the repeat purchase rate on an existing pair? instructions: - text: Set the weighted score of also-purchased record {id} to {weightedScore}. slots: id: path.id weightedScore: requestBody.weightedScore - text: Update the repeat purchase rate of record {id} to {repeatPurchaseRate}. slots: id: path.id repeatPurchaseRate: requestBody.repeatPurchaseRate method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductAlsoPurchasedWiths/Default.Default()'].get update: x-apievangelist-phrasing: intent: Call the also-purchased-with Default function effect: read questions: - What does the Default function on also-purchased-with records return? - Is there a default bought-together entry to fetch? instructions: - text: Call the Default function on also-purchased-with records. - text: Fetch the default bought-together result. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/productalsopurchasedwiths/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete also-purchased-with records effect: destructive questions: - Can I wipe many bought-together records in one request? - Is there a bulk delete by id list for also-purchased pairs? instructions: - text: Delete also-purchased records {ids}. slots: ids: query.ids - text: Bulk remove the bought-together pairs with ids {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/productalsopurchasedwiths({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property of an also-purchased record effect: read questions: - Can I read a custom property stored on a bought-together record? - Where is a custom value for an also-purchased pair kept? instructions: - text: Get custom property {custompropertyKey} of also-purchased record {key}. slots: custompropertyKey: path.custompropertyKey key: path.key - text: Show custom value {custompropertyKey} on bought-together pair {key}. slots: custompropertyKey: path.custompropertyKey key: path.key method: generated generated: '2026-09-26'