# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for VirtoCommerce.Cart Shopping Cart API version: 1.0.0 extends: openapi/virto-commerce-shopping-cart-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: 24 - target: $.paths['/api/carts/{storeId}/{customerId}/{cartName}/{currency}/{cultureName}/current'].get update: x-apievangelist-phrasing: intent: Get a shopper's current cart effect: read questions: - How do I load the active cart for a customer in a given store, currency and language? - Can a customer have separately named carts, like a wishlist, per store? instructions: - text: Get the current {cartName} cart for customer {customerId} in store {storeId} using {currency} and {cultureName}. slots: cartName: path.cartName customerId: path.customerId storeId: path.storeId currency: path.currency cultureName: path.cultureName - text: Load customer {customerId}'s default cart in store {storeId}, {currency}, {cultureName}. slots: customerId: path.customerId storeId: path.storeId currency: path.currency cultureName: path.cultureName method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}/itemscount'].get update: x-apievangelist-phrasing: intent: Count the items in a cart effect: read questions: - How many items are in a shopping cart right now? - Can I get just the item count for a mini-cart badge without loading the whole cart? instructions: - text: Count the items in cart {cartId}. slots: cartId: path.cartId - text: Tell me how many products are in cart {cartId}. slots: cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}/items'].put update: x-apievangelist-phrasing: intent: Change a cart line item's quantity effect: write questions: - How do I change the quantity of a product already in the cart? - Can I set a line item to a new quantity by its line item ID? instructions: - text: Set line item {lineItemId} in cart {cartId} to quantity {quantity}. slots: lineItemId: query.lineItemId cartId: path.cartId quantity: query.quantity - text: Change the quantity of an item in cart {cartId}. slots: cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}/items'].post update: x-apievangelist-phrasing: intent: Add a product to a cart effect: write questions: - How do I add a product to a customer's shopping cart? - Can I add an item by SKU with a specific quantity? instructions: - text: Add product {productId} to cart {cartId}. slots: productId: requestBody.productId cartId: path.cartId - text: Put {quantity} of SKU {sku} into cart {cartId}. slots: quantity: requestBody.quantity sku: requestBody.sku cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}/items'].delete update: x-apievangelist-phrasing: intent: Empty a cart effect: destructive questions: - How do I remove every item from a cart at once? - Is there a way to clear a shopping cart without deleting the cart itself? instructions: - text: Clear all items from cart {cartId}. slots: cartId: path.cartId - text: Empty shopping cart {cartId}. slots: cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}/items/{lineItemId}'].delete update: x-apievangelist-phrasing: intent: Remove one item from a cart effect: destructive questions: - How do I take a single product out of a cart? - Can I delete one line item while leaving the rest of the cart intact? instructions: - text: Remove line item {lineItemId} from cart {cartId}. slots: lineItemId: path.lineItemId cartId: path.cartId - text: Delete item {lineItemId} from shopping cart {cartId}. slots: lineItemId: path.lineItemId cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}'].get update: x-apievangelist-phrasing: intent: Get a cart by ID effect: read questions: - What does a shopping cart contain when I fetch it by ID? - Where can I read a specific cart if I know its ID? instructions: - text: Get cart {cartId}. slots: cartId: path.cartId - text: Show the contents of shopping cart {cartId}. slots: cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}'].patch update: x-apievangelist-phrasing: intent: Merge another cart into a cart effect: write questions: - How do I combine an anonymous shopper's cart with their account cart after login? - Can the items from one cart be merged into another? instructions: - text: Merge this cart into cart {cartId}. slots: cartId: path.cartId - text: Combine the anonymous cart for customer {customerId} into cart {cartId}. slots: customerId: requestBody.customerId cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}/availshippingrates'].get update: x-apievangelist-phrasing: intent: List shipping rates for a saved cart effect: read questions: - What shipping options and prices are available for a saved cart? - Which delivery methods can this cart ID use? instructions: - text: List shipping rates available for cart {cartId}. slots: cartId: path.cartId - text: Show delivery options and prices for saved cart {cartId}. slots: cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/availshippingrates'].post update: x-apievangelist-phrasing: intent: Quote shipping rates for an unsaved cart effect: read questions: - Can I get shipping rates by sending a cart object instead of a saved cart ID? - What would shipping cost for this cart contents in a specific currency? instructions: - text: Quote shipping rates in {currency} for this cart object. slots: currency: requestBody.currency - text: Estimate shipping for cart contents {shoppingCart}. slots: shoppingCart: requestBody.shoppingCart method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}/availpaymentmethods'].get update: x-apievangelist-phrasing: intent: List payment methods for a cart effect: read questions: - Which payment methods can a shopper choose for this cart? - What payment options are offered at checkout for a given cart? instructions: - text: List payment methods available for cart {cartId}. slots: cartId: path.cartId - text: Show the checkout payment options for cart {cartId}. slots: cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}/coupons/{couponCode}'].post update: x-apievangelist-phrasing: intent: Apply a coupon to a cart effect: write questions: - How do I apply a discount coupon code to a shopping cart? - Can a shopper redeem a promo code on their cart? instructions: - text: Apply coupon {couponCode} to cart {cartId}. slots: couponCode: path.couponCode cartId: path.cartId - text: Redeem promo code {couponCode} on shopping cart {cartId}. slots: couponCode: path.couponCode cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}/coupons/{couponCode}'].delete update: x-apievangelist-phrasing: intent: Remove a coupon from a cart effect: destructive questions: - How do I take a coupon code off a cart? - Can a shopper drop a promo code they already applied? instructions: - text: Remove coupon {couponCode} from cart {cartId}. slots: couponCode: path.couponCode cartId: path.cartId - text: Drop promo code {couponCode} from shopping cart {cartId}. slots: couponCode: path.couponCode cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}/shipments'].post update: x-apievangelist-phrasing: intent: Set the shipping method on a cart effect: write questions: - How do I choose a shipping method for a cart at checkout? - Can I set which fulfillment center ships a cart? instructions: - text: Set shipping method {shipmentMethodCode} on cart {cartId}. slots: shipmentMethodCode: requestBody.shipmentMethodCode cartId: path.cartId - text: Ship cart {cartId} from fulfillment center {fulfillmentCenterId} with option {shipmentMethodOption}. slots: cartId: path.cartId fulfillmentCenterId: requestBody.fulfillmentCenterId shipmentMethodOption: requestBody.shipmentMethodOption method: generated generated: '2026-09-26' - target: $.paths['/api/carts/{cartId}/payments'].post update: x-apievangelist-phrasing: intent: Set the payment method on a cart effect: write questions: - How do I attach a payment method to a cart before checkout? - Can I set the payment amount and billing address on a cart's payment? instructions: - text: Set payment gateway {paymentGatewayCode} on cart {cartId}. slots: paymentGatewayCode: requestBody.paymentGatewayCode cartId: path.cartId - text: Add a cart payment of {amount} to cart {cartId}. slots: amount: requestBody.amount cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/search'].post update: x-apievangelist-phrasing: intent: Search shopping carts effect: read questions: - Which carts has a given customer created in my store? - Can I find abandoned carts that still have line items? - Can I search carts modified within a date range? instructions: - text: Search carts for customer {customerId} in store {storeId}. slots: customerId: requestBody.customerId storeId: requestBody.storeId - text: Find carts with status {status} modified after {modifiedStartDate}. slots: status: requestBody.status modifiedStartDate: requestBody.modifiedStartDate method: generated generated: '2026-09-26' - target: $.paths['/api/carts'].put update: x-apievangelist-phrasing: intent: Update a shopping cart effect: write questions: - How do I save changes to an entire shopping cart record? - Can I add a comment to an existing cart by replacing it? instructions: - text: Update existing cart {id} with comment {comment}. slots: id: requestBody.id comment: requestBody.comment - text: Save the full updated record for cart {id}. slots: id: requestBody.id method: generated generated: '2026-09-26' - target: $.paths['/api/carts'].post update: x-apievangelist-phrasing: intent: Create a shopping cart effect: write questions: - How do I start a new cart for a customer in a store? - Can I create a named cart in a specific currency? instructions: - text: Create a cart for customer {customerId} in store {storeId}. slots: customerId: requestBody.customerId storeId: requestBody.storeId - text: Create a new cart named {name} in {currency}. slots: name: requestBody.name currency: requestBody.currency method: generated generated: '2026-09-26' - target: $.paths['/api/carts'].delete update: x-apievangelist-phrasing: intent: Delete shopping carts effect: destructive questions: - How do I delete carts I no longer need? - Can I remove several shopping carts at once by ID? instructions: - text: Delete carts {ids}. slots: ids: query.ids - text: Remove the shopping carts with IDs {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/carts/recalculate'].post update: x-apievangelist-phrasing: intent: Recalculate cart totals effect: read questions: - Can I compute a cart's totals, taxes and discounts without saving it? - What would this cart come to after my edits? instructions: - text: Recalculate totals for this cart. - text: Compute the totals for cart {id} as sent. slots: id: requestBody.id method: generated generated: '2026-09-26' - target: $.paths['/api/carts/patch/{id}'].patch update: x-apievangelist-phrasing: intent: Partially update a cart effect: write questions: - Can I change a single field on a cart without sending the full cart? - What is the way to JSON-patch a shopping cart? instructions: - text: Patch cart {id} with only the changed fields. slots: id: path.id - text: Apply a partial update to shopping cart {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/carts/patch/{cartId}/items/{lineItemId}'].patch update: x-apievangelist-phrasing: intent: Partially update a cart line item effect: write questions: - Can I patch just one field, like a note, on a cart line item? - How do I apply a JSON patch to a single item in a cart? instructions: - text: Patch line item {lineItemId} in cart {cartId}. slots: lineItemId: path.lineItemId cartId: path.cartId - text: Apply a partial update to item {lineItemId} of cart {cartId}. slots: lineItemId: path.lineItemId cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/patch/{cartId}/shipments/{shipmentId}'].patch update: x-apievangelist-phrasing: intent: Partially update a cart shipment effect: write questions: - Can I patch a single field on a cart's shipment? - How do I JSON-patch the shipment attached to a cart? instructions: - text: Patch shipment {shipmentId} in cart {cartId}. slots: shipmentId: path.shipmentId cartId: path.cartId - text: Apply a partial update to cart {cartId} shipment {shipmentId}. slots: shipmentId: path.shipmentId cartId: path.cartId method: generated generated: '2026-09-26' - target: $.paths['/api/carts/patch/{cartId}/payments/{paymentId}'].patch update: x-apievangelist-phrasing: intent: Partially update a cart payment effect: write questions: - Can I patch a single field on a cart's payment? - How do I JSON-patch the payment attached to a cart? instructions: - text: Patch payment {paymentId} in cart {cartId}. slots: paymentId: path.paymentId cartId: path.cartId - text: Apply a partial update to cart {cartId} payment {paymentId}. slots: paymentId: path.paymentId cartId: path.cartId method: generated generated: '2026-09-26'