# 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 Lines API version: 1.0.0 extends: openapi/optimizely-product-lines-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: 10 - target: $.paths['/api/v1/admin/ProductLines'].get update: x-apievangelist-phrasing: intent: List product lines effect: read questions: - Which product lines do we have in the catalog? - Can I list only featured product lines, sorted by sort order? instructions: - text: List all product lines. - text: List product lines matching {filter}, ordered by {orderby}. slots: filter: query.$filter orderby: query.$orderby method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductLines'].post update: x-apievangelist-phrasing: intent: Create a product line effect: write questions: - How do I add a new product line under a brand? - Can a new product line be marked as featured or sponsored? instructions: - text: Create product line {name} with URL segment {urlSegment} for brand {brandId}. slots: name: requestBody.name urlSegment: requestBody.urlSegment brandId: requestBody.brandId - text: Add a featured product line {name} at {urlSegment}, featured {isFeatured}. slots: name: requestBody.name urlSegment: requestBody.urlSegment isFeatured: requestBody.isFeatured method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductLines({id})'].get update: x-apievangelist-phrasing: intent: Get a product line effect: read questions: - How do I look up one product line's details and image settings? - Is a specific product line featured or sponsored? instructions: - text: Get product line {id}. slots: id: path.id - text: Show the settings of product line {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductLines({id})'].put update: x-apievangelist-phrasing: intent: Replace a product line effect: write questions: - How do I overwrite a product line record completely? - Do I need to resend the image fields when replacing a product line? instructions: - text: Replace product line {id} with name {name} and URL segment {urlSegment}. slots: id: path.id name: requestBody.name urlSegment: requestBody.urlSegment - text: Fully overwrite product line {id} using image source {imageSource}. slots: id: path.id imageSource: requestBody.imageSource method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductLines({id})'].delete update: x-apievangelist-phrasing: intent: Delete a product line effect: destructive questions: - How do I remove a product line from the catalog? - Can I delete a product line only if its ETag still matches? instructions: - text: Delete product line {id}. slots: id: path.id - text: Delete product line {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/ProductLines({id})'].patch update: x-apievangelist-phrasing: intent: Update a product line effect: write questions: - How do I boost a product line in search results? - Can I mark an existing product line as sponsored? instructions: - text: Set search boost of product line {id} to {searchBoost}. slots: id: path.id searchBoost: requestBody.searchBoost - text: Mark product line {id} as sponsored {isSponsored}. slots: id: path.id isSponsored: requestBody.isSponsored method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ProductLines/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get the default product line template effect: read questions: - What default values does a new product line start with? - Where can I get a blank product line record? instructions: - text: Get the default product line template. - text: Show default values for a new product line. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/productlines/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete product lines effect: destructive questions: - How do I delete several product lines in one request? - Can I remove a batch of product lines by id? instructions: - text: Delete product lines {ids}. slots: ids: query.ids - text: Bulk remove product lines with ids {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/productlines({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a product line custom property effect: read questions: - How do I read a custom property on a product line? - Where is a single custom property value for a product line? instructions: - text: Get custom property {custompropertyKey} of product line {key}. slots: custompropertyKey: path.custompropertyKey key: path.key - text: Show product line {key}'s custom property {custompropertyKey}. slots: custompropertyKey: path.custompropertyKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/productlines({key})/products({productKey})'].get update: x-apievangelist-phrasing: intent: Get a product within a product line effect: read questions: - How do I check that a specific product belongs to a product line? - Can I fetch one product from a product line? instructions: - text: Get product {productKey} in product line {key}. slots: productKey: path.productKey key: path.key - text: Show product {productKey} from product line {key}. slots: productKey: path.productKey key: path.key method: generated generated: '2026-09-26'