# 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 Customer Products API version: 1.0.0 extends: openapi/optimizely-customer-products-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/CustomerProducts'].get update: x-apievangelist-phrasing: intent: List customer-specific product names effect: read questions: - Which customers have their own part names for my products? - Can I filter customer product mappings to one customer? instructions: - text: List all customer products. - text: List customer products where {filter}. slots: filter: query.$filter - text: Return the first {top} customer products sorted by {orderby}. slots: top: query.$top orderby: query.$orderby method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomerProducts'].post update: x-apievangelist-phrasing: intent: Map a product to a customer's own part name effect: write questions: - How do I give a B2B customer their own name for one of my products? - Can I set the unit of measure on a customer's product alias? instructions: - text: Create customer product {name} for customer {customerId} and product {productId}. slots: name: requestBody.name customerId: requestBody.customerId productId: requestBody.productId - text: Add a customer product alias {name} sold per {unitOfMeasure}. slots: name: requestBody.name unitOfMeasure: requestBody.unitOfMeasure method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomerProducts({id})'].get update: x-apievangelist-phrasing: intent: Get a customer product by id effect: read questions: - What part name does one customer product mapping use? - Can I look up a single customer product record by id? instructions: - text: Get customer product {id}. slots: id: path.id - text: Fetch customer product {id} with {expand} expanded. slots: id: path.id expand: query.$expand method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomerProducts({id})'].put update: x-apievangelist-phrasing: intent: Replace a customer product mapping effect: write questions: - How do I overwrite a whole customer product record at once? - What must I send to fully replace a customer product mapping? instructions: - text: Replace customer product {id} with name {name} and unit {unitOfMeasure}. slots: id: path.id name: requestBody.name unitOfMeasure: requestBody.unitOfMeasure - text: Overwrite customer product {id} to point at product {productId}. slots: id: path.id productId: requestBody.productId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomerProducts({id})'].delete update: x-apievangelist-phrasing: intent: Delete a customer product mapping effect: destructive questions: - Can I remove one customer's product alias by its id? - Does deleting a customer product accept an If-Match ETag? instructions: - text: Delete customer product {id}. slots: id: path.id - text: Delete customer product {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/CustomerProducts({id})'].patch update: x-apievangelist-phrasing: intent: Rename a customer product mapping effect: write questions: - How do I change just the name a customer uses for a product? - Can I update a customer product's unit of measure alone? instructions: - text: Rename customer product {id} to {name}. slots: id: path.id name: requestBody.name - text: Change the unit of measure on customer product {id} to {unitOfMeasure}. slots: id: path.id unitOfMeasure: requestBody.unitOfMeasure method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomerProducts/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get a blank customer product template effect: read questions: - What default values does a new customer product start with? - Is there an empty customer product template to fill in? instructions: - text: Get the default customer product template. - text: Show the defaults for a new customer product. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/customerproducts/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete customer products effect: destructive questions: - Can I delete several customer product mappings at once? - How do I remove a batch of customer products by id? instructions: - text: Bulk delete customer products {ids}. slots: ids: query.ids - text: Remove the customer products with ids {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/customerproducts({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property of a customer product effect: read questions: - What custom property values are stored on a customer product? - Can I read one extension field from a customer product mapping? instructions: - text: Get custom property {custompropertyKey} of customer product {key}. slots: custompropertyKey: path.custompropertyKey key: path.key - text: Read custom field {custompropertyKey} on customer product {key}. slots: custompropertyKey: path.custompropertyKey key: path.key method: generated generated: '2026-09-26'