# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Mailchimp Marketing Ecommerce API version: 1.0.0 extends: openapi/mailchimp-ecommerce-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: 60 - target: $.paths['/ecommerce/orders'].get update: x-apievangelist-phrasing: intent: List orders across every connected store effect: read questions: - Can I see every ecommerce order across all the stores in my Mailchimp account at once? - Which orders account-wide were attributed to a particular email campaign? instructions: - text: List all orders across every store in my account. - text: Show account-wide orders placed by customer {customer_id} in any store. slots: customer_id: query.customer_id - text: Find orders across all my stores that came from campaign {campaign_id}. slots: campaign_id: query.campaign_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores'].get update: x-apievangelist-phrasing: intent: List connected ecommerce stores effect: read questions: - Which online stores are connected to my Mailchimp account? - How do I get a list of all my ecommerce stores and their settings? instructions: - text: List all the ecommerce stores in my account. - text: Show the first {count} connected stores. slots: count: query.count method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores'].post update: x-apievangelist-phrasing: intent: Connect a new ecommerce store effect: write questions: - How do I connect a new online store to a Mailchimp audience? - What do I need to provide to register a store, like its currency and linked audience? instructions: - text: Add a store named {name} with id {id} tied to audience {list_id} using currency {currency_code}. slots: name: requestBody.name id: requestBody.id list_id: requestBody.list_id currency_code: requestBody.currency_code - text: Register new store {id} called {name} on domain {domain} for audience {list_id} in {currency_code}. slots: id: requestBody.id name: requestBody.name domain: requestBody.domain list_id: requestBody.list_id currency_code: requestBody.currency_code method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}'].get update: x-apievangelist-phrasing: intent: Get details of one store effect: read questions: - What settings and contact details does a specific connected store have? - Can I check which audience and currency one of my stores is using? instructions: - text: Show the details of store {store_id}. slots: store_id: path.store_id - text: Get the currency and domain configured for store {store_id}. slots: store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}'].delete update: x-apievangelist-phrasing: intent: Delete a store and all its data effect: destructive questions: - What happens to customers, orders and products when I delete a connected store? - Can I completely remove a store I no longer sell through? instructions: - text: Delete store {store_id} along with its customers, orders, products and carts. slots: store_id: path.store_id - text: Disconnect and remove store {store_id} from my account. slots: store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}'].patch update: x-apievangelist-phrasing: intent: Update a store's settings effect: write questions: - Can I change a connected store's name, domain or timezone after setting it up? - How do I mark a store as syncing so automations pause while I import data? instructions: - text: Rename store {store_id} to {name}. slots: store_id: path.store_id name: requestBody.name - text: Set is_syncing to {is_syncing} on store {store_id}. slots: store_id: path.store_id is_syncing: requestBody.is_syncing - text: Change the domain of existing store {store_id} to {domain}. slots: store_id: path.store_id domain: requestBody.domain method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/carts'].get update: x-apievangelist-phrasing: intent: List a store's shopping carts effect: read questions: - Which shopping carts are currently tracked for my store, including abandoned ones? - Can I page through all the carts a store has sent to Mailchimp? instructions: - text: List the carts in store {store_id}. slots: store_id: path.store_id - text: Show {count} carts from store {store_id}. slots: count: query.count store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/carts'].post update: x-apievangelist-phrasing: intent: Add a shopping cart to a store effect: write questions: - How do I send a shopper's cart to Mailchimp so abandoned-cart emails can go out? - What's required to create a cart record, like the customer, total and line items? instructions: - text: Add cart {id} to store {store_id} for customer {customer} totaling {order_total} {currency_code} with lines {lines}. slots: id: requestBody.id store_id: path.store_id customer: requestBody.customer order_total: requestBody.order_total currency_code: requestBody.currency_code lines: requestBody.lines - text: Create a cart in store {store_id} with checkout link {checkout_url}. slots: store_id: path.store_id checkout_url: requestBody.checkout_url method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/carts/{cart_id}'].get update: x-apievangelist-phrasing: intent: Get one shopping cart effect: read questions: - What's in a specific cart, and what's its checkout URL and total? - Can I look up a single cart to see which customer it belongs to? instructions: - text: Show cart {cart_id} in store {store_id}. slots: cart_id: path.cart_id store_id: path.store_id - text: Get the order total for cart {cart_id} from store {store_id}. slots: cart_id: path.cart_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/carts/{cart_id}'].delete update: x-apievangelist-phrasing: intent: Delete a shopping cart effect: destructive questions: - Can I remove a cart once the shopper has checked out so no abandoned-cart email fires? - Is there a way to delete a stale cart from my store's data? instructions: - text: Delete cart {cart_id} from store {store_id}. slots: cart_id: path.cart_id store_id: path.store_id - text: Remove the abandoned cart {cart_id} in store {store_id}. slots: cart_id: path.cart_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/carts/{cart_id}'].patch update: x-apievangelist-phrasing: intent: Update a shopping cart effect: write questions: - Can I update a cart's total or checkout URL after the shopper changes it? - How do I attribute an existing cart to a campaign? instructions: - text: Set the order total of cart {cart_id} in store {store_id} to {order_total}. slots: cart_id: path.cart_id store_id: path.store_id order_total: requestBody.order_total - text: Link existing cart {cart_id} in store {store_id} to campaign {campaign_id}. slots: cart_id: path.cart_id store_id: path.store_id campaign_id: requestBody.campaign_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/carts/{cart_id}/lines'].get update: x-apievangelist-phrasing: intent: List a cart's line items effect: read questions: - Which products and quantities are sitting in a particular cart? - Can I list every line item on a shopper's cart? instructions: - text: List the line items in cart {cart_id} of store {store_id}. slots: cart_id: path.cart_id store_id: path.store_id - text: Show what products are in cart {cart_id} at store {store_id}. slots: cart_id: path.cart_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/carts/{cart_id}/lines'].post update: x-apievangelist-phrasing: intent: Add a line item to a cart effect: write questions: - How do I add another product to a cart that already exists? - What fields do I need to put a product variant into a shopper's cart? instructions: - text: Add {quantity} of variant {product_variant_id} of product {product_id} at {price} to cart {cart_id} in store {store_id} as line {id}. slots: quantity: requestBody.quantity product_variant_id: requestBody.product_variant_id product_id: requestBody.product_id price: requestBody.price cart_id: path.cart_id store_id: path.store_id id: requestBody.id - text: Put product {product_id} into cart {cart_id} at store {store_id}. slots: product_id: requestBody.product_id cart_id: path.cart_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/carts/{cart_id}/lines/{line_id}'].get update: x-apievangelist-phrasing: intent: Get one cart line item effect: read questions: - What quantity and price does a single line in a cart have? - Can I look up one specific line item in a shopper's cart? instructions: - text: Show line {line_id} of cart {cart_id} in store {store_id}. slots: line_id: path.line_id cart_id: path.cart_id store_id: path.store_id - text: Get the quantity on cart line {line_id} for cart {cart_id}, store {store_id}. slots: line_id: path.line_id cart_id: path.cart_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/carts/{cart_id}/lines/{line_id}'].delete update: x-apievangelist-phrasing: intent: Remove a line item from a cart effect: destructive questions: - Can I take one product out of a cart without deleting the whole cart? - What's the way to remove a single line from a shopper's cart? instructions: - text: Remove line {line_id} from cart {cart_id} in store {store_id}. slots: line_id: path.line_id cart_id: path.cart_id store_id: path.store_id - text: Delete cart line item {line_id} on cart {cart_id} at store {store_id}. slots: line_id: path.line_id cart_id: path.cart_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/carts/{cart_id}/lines/{line_id}'].patch update: x-apievangelist-phrasing: intent: Update a cart line item effect: write questions: - Can I change the quantity of a product that's already in a cart? - How do I update the price on one line of a shopper's cart? instructions: - text: Change the quantity of line {line_id} in cart {cart_id}, store {store_id}, to {quantity}. slots: line_id: path.line_id cart_id: path.cart_id store_id: path.store_id quantity: requestBody.quantity - text: Set the price of cart line {line_id} in cart {cart_id} at store {store_id} to {price}. slots: line_id: path.line_id cart_id: path.cart_id store_id: path.store_id price: requestBody.price method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/customers'].get update: x-apievangelist-phrasing: intent: List a store's customers effect: read questions: - Which shoppers are recorded as customers of my store? - Can I find a store customer by their email address? instructions: - text: List the customers of store {store_id}. slots: store_id: path.store_id - text: Find the customer with email {email_address} in store {store_id}. slots: email_address: query.email_address store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/customers'].post update: x-apievangelist-phrasing: intent: Add a customer to a store effect: write questions: - How do I add a new shopper to my store's customer records? - Do I have to set an opt-in status when creating a store customer? instructions: - text: Add customer {id} with email {email_address} to store {store_id}, opted in {opt_in_status}. slots: id: requestBody.id email_address: requestBody.email_address store_id: path.store_id opt_in_status: requestBody.opt_in_status - text: Create a new customer {first_name} {last_name} in store {store_id}. slots: first_name: requestBody.first_name last_name: requestBody.last_name store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/customers/{customer_id}'].get update: x-apievangelist-phrasing: intent: Get one store customer effect: read questions: - What does my store know about a particular customer, like their name and opt-in status? - Can I pull up one customer record by its ID? instructions: - text: Show customer {customer_id} in store {store_id}. slots: customer_id: path.customer_id store_id: path.store_id - text: Check whether customer {customer_id} of store {store_id} is opted in. slots: customer_id: path.customer_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/customers/{customer_id}'].put update: x-apievangelist-phrasing: intent: Create or update a store customer (upsert) effect: write questions: - Is there a single call that adds a customer if they're new and updates them if they exist? - Can I upsert a store customer by ID without checking first? instructions: - text: Upsert customer {customer_id} in store {store_id} with email {email_address}. slots: customer_id: path.customer_id store_id: path.store_id email_address: requestBody.email_address - text: Add or update store {store_id} customer {customer_id} with id {id}. slots: store_id: path.store_id customer_id: path.customer_id id: requestBody.id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/customers/{customer_id}'].delete update: x-apievangelist-phrasing: intent: Delete a store customer effect: destructive questions: - Can I remove a shopper from my store's customer records? - What's the call to delete one customer from a connected store? instructions: - text: Delete customer {customer_id} from store {store_id}. slots: customer_id: path.customer_id store_id: path.store_id - text: Remove store {store_id} customer {customer_id} permanently. slots: store_id: path.store_id customer_id: path.customer_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/customers/{customer_id}'].patch update: x-apievangelist-phrasing: intent: Update an existing store customer effect: write questions: - Can I change an existing customer's company or address without resending everything? - How do I flip a store customer's opt-in status later? instructions: - text: Set opt-in status of existing customer {customer_id} in store {store_id} to {opt_in_status}. slots: customer_id: path.customer_id store_id: path.store_id opt_in_status: requestBody.opt_in_status - text: Update the address of customer {customer_id} at store {store_id} to {address}. slots: customer_id: path.customer_id store_id: path.store_id address: requestBody.address method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/promo-rules'].get update: x-apievangelist-phrasing: intent: List a store's promo rules effect: read questions: - Which discount rules are set up for my store? - Can I see every promo rule my store has synced? instructions: - text: List promo rules for store {store_id}. slots: store_id: path.store_id - text: Show the discount rules configured in store {store_id}. slots: store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/promo-rules'].post update: x-apievangelist-phrasing: intent: Create a promo rule for a store effect: write questions: - How do I set up a discount rule, like 10% off an order, for my store? - What kinds of promo rule targets and types can I define? instructions: - text: 'Create promo rule {id} in store {store_id}: {description}, {type} discount of {amount} on {target}.' slots: id: requestBody.id store_id: path.store_id description: requestBody.description type: requestBody.type amount: requestBody.amount target: requestBody.target - text: Add a promo rule to store {store_id} that runs from {starts_at} to {ends_at}. slots: store_id: path.store_id starts_at: requestBody.starts_at ends_at: requestBody.ends_at method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}'].get update: x-apievangelist-phrasing: intent: Get one promo rule effect: read questions: - What discount amount and dates does a specific promo rule have? - Can I check whether one promo rule is enabled? instructions: - text: Show promo rule {promo_rule_id} in store {store_id}. slots: promo_rule_id: path.promo_rule_id store_id: path.store_id - text: Get the start and end dates of promo rule {promo_rule_id} at store {store_id}. slots: promo_rule_id: path.promo_rule_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}'].delete update: x-apievangelist-phrasing: intent: Delete a promo rule effect: destructive questions: - Can I remove a discount rule that's no longer running? - What's the way to delete a promo rule from my store? instructions: - text: Delete promo rule {promo_rule_id} from store {store_id}. slots: promo_rule_id: path.promo_rule_id store_id: path.store_id - text: Remove the discount rule {promo_rule_id} in store {store_id}. slots: promo_rule_id: path.promo_rule_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}'].patch update: x-apievangelist-phrasing: intent: Update a promo rule effect: write questions: - Can I extend the end date or change the amount of an existing discount rule? - How do I disable a promo rule without deleting it? instructions: - text: Set promo rule {promo_rule_id} in store {store_id} to end at {ends_at}. slots: promo_rule_id: path.promo_rule_id store_id: path.store_id ends_at: requestBody.ends_at - text: Set enabled to {enabled} on promo rule {promo_rule_id} at store {store_id}. slots: enabled: requestBody.enabled promo_rule_id: path.promo_rule_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes'].get update: x-apievangelist-phrasing: intent: List codes under a promo rule effect: read questions: - Which coupon codes belong to a particular promo rule? - Can I list all the promo codes shoppers can redeem under one discount rule? instructions: - text: List the promo codes for rule {promo_rule_id} in store {store_id}. slots: promo_rule_id: path.promo_rule_id store_id: path.store_id - text: Show coupon codes under promo rule {promo_rule_id} at store {store_id}. slots: promo_rule_id: path.promo_rule_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes'].post update: x-apievangelist-phrasing: intent: Create a promo code effect: write questions: - How do I add a coupon code shoppers can use under an existing discount rule? - What's needed to create a promo code, like the code and redemption URL? instructions: - text: Add promo code {code} with id {id} and redemption URL {redemption_url} to rule {promo_rule_id} in store {store_id}. slots: code: requestBody.code id: requestBody.id redemption_url: requestBody.redemption_url promo_rule_id: path.promo_rule_id store_id: path.store_id - text: Create coupon {code} under promo rule {promo_rule_id} at store {store_id}. slots: code: requestBody.code promo_rule_id: path.promo_rule_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes/{promo_code_id}'].get update: x-apievangelist-phrasing: intent: Get one promo code effect: read questions: - How many times has a specific coupon code been used? - Can I look up one promo code's redemption URL and status? instructions: - text: Show promo code {promo_code_id} under rule {promo_rule_id} in store {store_id}. slots: promo_code_id: path.promo_code_id promo_rule_id: path.promo_rule_id store_id: path.store_id - text: Get the usage count for coupon {promo_code_id} of rule {promo_rule_id} at store {store_id}. slots: promo_code_id: path.promo_code_id promo_rule_id: path.promo_rule_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes/{promo_code_id}'].delete update: x-apievangelist-phrasing: intent: Delete a promo code effect: destructive questions: - Can I delete a single coupon code but keep its discount rule? - What's the way to retire a promo code from my store? instructions: - text: Delete promo code {promo_code_id} from rule {promo_rule_id} in store {store_id}. slots: promo_code_id: path.promo_code_id promo_rule_id: path.promo_rule_id store_id: path.store_id - text: Remove coupon {promo_code_id} under promo rule {promo_rule_id} at store {store_id}. slots: promo_code_id: path.promo_code_id promo_rule_id: path.promo_rule_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/promo-rules/{promo_rule_id}/promo-codes/{promo_code_id}'].patch update: x-apievangelist-phrasing: intent: Update a promo code effect: write questions: - Can I change a coupon's code text or disable it after it's created? - How do I update the usage count on a promo code? instructions: - text: Change promo code {promo_code_id} under rule {promo_rule_id} in store {store_id} to {code}. slots: promo_code_id: path.promo_code_id promo_rule_id: path.promo_rule_id store_id: path.store_id code: requestBody.code - text: Set enabled to {enabled} on coupon {promo_code_id} of rule {promo_rule_id} at store {store_id}. slots: enabled: requestBody.enabled promo_code_id: path.promo_code_id promo_rule_id: path.promo_rule_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/orders'].get update: x-apievangelist-phrasing: intent: List one store's orders effect: read questions: - Which orders has a single store sent to Mailchimp? - Can I filter one store's orders by customer or by the campaign that drove them? instructions: - text: List orders in store {store_id}. slots: store_id: path.store_id - text: Show store {store_id} orders from customer {customer_id}. slots: store_id: path.store_id customer_id: query.customer_id - text: List store {store_id} orders attributed to campaign {campaign_id}. slots: store_id: path.store_id campaign_id: query.campaign_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/orders'].post update: x-apievangelist-phrasing: intent: Add a new order to a store effect: write questions: - How do I send a completed purchase to Mailchimp so it counts toward campaign revenue? - What's required to record a new order, like the customer, total and line items? instructions: - text: Add order {id} to store {store_id} for customer {customer} totaling {order_total} {currency_code} with lines {lines}. slots: id: requestBody.id store_id: path.store_id customer: requestBody.customer order_total: requestBody.order_total currency_code: requestBody.currency_code lines: requestBody.lines - text: Record a new order in store {store_id} credited to campaign {campaign_id}. slots: store_id: path.store_id campaign_id: requestBody.campaign_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/orders/{order_id}'].get update: x-apievangelist-phrasing: intent: Get one order effect: read questions: - What's the status, total and shipping info for a specific order? - Can I look up one order to see its fulfillment and tracking details? instructions: - text: Show order {order_id} in store {store_id}. slots: order_id: path.order_id store_id: path.store_id - text: Get the tracking details for order {order_id} at store {store_id}. slots: order_id: path.order_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/orders/{order_id}'].put update: x-apievangelist-phrasing: intent: Create or update an order (upsert) effect: write questions: - Is there one call that adds an order if it's new and overwrites it if it already exists? - Can I upsert an order by its ID when syncing from my shop? instructions: - text: Upsert order {order_id} in store {store_id} with id {id}. slots: order_id: path.order_id store_id: path.store_id id: requestBody.id - text: Add or update order {order_id} at store {store_id} with total {order_total}. slots: order_id: path.order_id store_id: path.store_id order_total: requestBody.order_total method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/orders/{order_id}'].delete update: x-apievangelist-phrasing: intent: Delete an order effect: destructive questions: - Can I remove an order that was sent to Mailchimp by mistake? - What's the way to delete a single order from a store? instructions: - text: Delete order {order_id} from store {store_id}. slots: order_id: path.order_id store_id: path.store_id - text: Remove the test order {order_id} in store {store_id}. slots: order_id: path.order_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/orders/{order_id}'].patch update: x-apievangelist-phrasing: intent: Update an existing order effect: write questions: - Can I mark an existing order as shipped or add a tracking number later? - How do I update an order's financial status after a refund? instructions: - text: Set fulfillment status of existing order {order_id} in store {store_id} to {fulfillment_status}. slots: order_id: path.order_id store_id: path.store_id fulfillment_status: requestBody.fulfillment_status - text: Add tracking number {tracking_number} from {tracking_carrier} to order {order_id} at store {store_id}. slots: tracking_number: requestBody.tracking_number tracking_carrier: requestBody.tracking_carrier order_id: path.order_id store_id: path.store_id - text: Change order {order_id} at store {store_id} to financial status {financial_status}. slots: order_id: path.order_id store_id: path.store_id financial_status: requestBody.financial_status method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/orders/{order_id}/lines'].get update: x-apievangelist-phrasing: intent: List an order's line items effect: read questions: - Which products were bought in a specific order? - Can I list each line item on an order with its quantity and price? instructions: - text: List the line items of order {order_id} in store {store_id}. slots: order_id: path.order_id store_id: path.store_id - text: Show what was purchased in order {order_id} at store {store_id}. slots: order_id: path.order_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/orders/{order_id}/lines'].post update: x-apievangelist-phrasing: intent: Add a line item to an order effect: write questions: - How do I add another product line to an order that's already recorded? - Can I include a discount when adding a line to an existing order? instructions: - text: 'Add line {id} to order {order_id} in store {store_id}: {quantity} of variant {product_variant_id} of product {product_id} at {price}.' slots: id: requestBody.id order_id: path.order_id store_id: path.store_id quantity: requestBody.quantity product_variant_id: requestBody.product_variant_id product_id: requestBody.product_id price: requestBody.price - text: Append product {product_id} with discount {discount} to order {order_id} at store {store_id}. slots: product_id: requestBody.product_id discount: requestBody.discount order_id: path.order_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/orders/{order_id}/lines/{line_id}'].get update: x-apievangelist-phrasing: intent: Get one order line item effect: read questions: - What was the price and quantity on one specific line of an order? - Can I fetch a single order line by its ID? instructions: - text: Show line {line_id} of order {order_id} in store {store_id}. slots: line_id: path.line_id order_id: path.order_id store_id: path.store_id - text: Get the discount on order line {line_id} for order {order_id}, store {store_id}. slots: line_id: path.line_id order_id: path.order_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/orders/{order_id}/lines/{line_id}'].delete update: x-apievangelist-phrasing: intent: Remove a line item from an order effect: destructive questions: - Can I delete one product line from an order while keeping the rest of it? - What's the call to remove a returned item's line from an order? instructions: - text: Remove line {line_id} from order {order_id} in store {store_id}. slots: line_id: path.line_id order_id: path.order_id store_id: path.store_id - text: Delete order line item {line_id} on order {order_id} at store {store_id}. slots: line_id: path.line_id order_id: path.order_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/orders/{order_id}/lines/{line_id}'].patch update: x-apievangelist-phrasing: intent: Update an order line item effect: write questions: - Can I correct the quantity or price on a line of an existing order? - How do I apply a discount to one line of an order after the fact? instructions: - text: Change the quantity of line {line_id} in order {order_id}, store {store_id}, to {quantity}. slots: line_id: path.line_id order_id: path.order_id store_id: path.store_id quantity: requestBody.quantity - text: Set discount {discount} on order line {line_id} of order {order_id} at store {store_id}. slots: discount: requestBody.discount line_id: path.line_id order_id: path.order_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products'].get update: x-apievangelist-phrasing: intent: List a store's products effect: read questions: - Which products from my shop's catalog are synced to Mailchimp? - Can I page through every product in a store? instructions: - text: List products in store {store_id}. slots: store_id: path.store_id - text: Show the first {count} products of store {store_id}. slots: count: query.count store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products'].post update: x-apievangelist-phrasing: intent: Add a new product to a store effect: write questions: - How do I add a product to my store's catalog so it can appear in product recommendations? - Does a new product need at least one variant when I create it? instructions: - text: Add product {id} titled {title} with variants {variants} to store {store_id}. slots: id: requestBody.id title: requestBody.title variants: requestBody.variants store_id: path.store_id - text: Create a new product in store {store_id} from vendor {vendor} with image {image_url}. slots: store_id: path.store_id vendor: requestBody.vendor image_url: requestBody.image_url method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}'].get update: x-apievangelist-phrasing: intent: Get one product effect: read questions: - What details, variants and images does a specific product have? - Can I look up one product in my store by its ID? instructions: - text: Show product {product_id} in store {store_id}. slots: product_id: path.product_id store_id: path.store_id - text: Get the title and URL of product {product_id} at store {store_id}. slots: product_id: path.product_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}'].put update: x-apievangelist-phrasing: intent: Create or replace a product (upsert) effect: write questions: - Is there a call that creates a product if missing or overwrites it if it's there? - Can I upsert a product by ID when syncing my catalog? instructions: - text: Upsert product {product_id} in store {store_id} with id {id}. slots: product_id: path.product_id store_id: path.store_id id: requestBody.id - text: Create or replace product {product_id} at store {store_id} with title {title}. slots: product_id: path.product_id store_id: path.store_id title: requestBody.title method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}'].delete update: x-apievangelist-phrasing: intent: Delete a product effect: destructive questions: - Can I remove a discontinued product from my store's catalog? - What's the way to delete a product from a connected store? instructions: - text: Delete product {product_id} from store {store_id}. slots: product_id: path.product_id store_id: path.store_id - text: Remove discontinued product {product_id} in store {store_id}. slots: product_id: path.product_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}'].patch update: x-apievangelist-phrasing: intent: Update an existing product effect: write questions: - Can I change just a product's description or image without resending the whole product? - How do I rename an existing product in my store? instructions: - text: Change the title of existing product {product_id} in store {store_id} to {title}. slots: product_id: path.product_id store_id: path.store_id title: requestBody.title - text: Update the description of product {product_id} at store {store_id} to {description}. slots: product_id: path.product_id store_id: path.store_id description: requestBody.description method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}/variants'].get update: x-apievangelist-phrasing: intent: List a product's variants effect: read questions: - Which sizes, colors or other variants does a product have? - Can I list every variant of a product with its SKU and stock? instructions: - text: List the variants of product {product_id} in store {store_id}. slots: product_id: path.product_id store_id: path.store_id - text: Show all SKUs for product {product_id} at store {store_id}. slots: product_id: path.product_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}/variants'].post update: x-apievangelist-phrasing: intent: Add a variant to a product effect: write questions: - How do I add a new size or color variant to an existing product? - Can I set a SKU, price and inventory quantity when adding a variant? instructions: - text: Add variant {id} titled {title} to product {product_id} in store {store_id}. slots: id: requestBody.id title: requestBody.title product_id: path.product_id store_id: path.store_id - text: Create a variant with SKU {sku} priced {price} on product {product_id} at store {store_id}. slots: sku: requestBody.sku price: requestBody.price product_id: path.product_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}/variants/{variant_id}'].get update: x-apievangelist-phrasing: intent: Get one product variant effect: read questions: - How much stock is left for a specific product variant? - Can I look up a single variant's price and SKU? instructions: - text: Show variant {variant_id} of product {product_id} in store {store_id}. slots: variant_id: path.variant_id product_id: path.product_id store_id: path.store_id - text: Get the inventory quantity for variant {variant_id} of product {product_id}, store {store_id}. slots: variant_id: path.variant_id product_id: path.product_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}/variants/{variant_id}'].put update: x-apievangelist-phrasing: intent: Create or replace a product variant (upsert) effect: write questions: - Is there one call that adds a variant if it's new and overwrites it if it exists? - Can I upsert a product variant by ID during a catalog sync? instructions: - text: Upsert variant {variant_id} titled {title} with id {id} on product {product_id} in store {store_id}. slots: variant_id: path.variant_id title: requestBody.title id: requestBody.id product_id: path.product_id store_id: path.store_id - text: Add or replace variant {variant_id} of product {product_id} at store {store_id}. slots: variant_id: path.variant_id product_id: path.product_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}/variants/{variant_id}'].delete update: x-apievangelist-phrasing: intent: Delete a product variant effect: destructive questions: - Can I remove one variant from a product while keeping the product? - What's the way to delete a discontinued size or color of a product? instructions: - text: Delete variant {variant_id} of product {product_id} in store {store_id}. slots: variant_id: path.variant_id product_id: path.product_id store_id: path.store_id - text: Remove product variant {variant_id} from product {product_id} at store {store_id}. slots: variant_id: path.variant_id product_id: path.product_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}/variants/{variant_id}'].patch update: x-apievangelist-phrasing: intent: Update an existing product variant effect: write questions: - Can I update a variant's stock level or price without resending the whole variant? - How do I mark an existing variant as allowing backorders? instructions: - text: Set inventory of existing variant {variant_id} of product {product_id} in store {store_id} to {inventory_quantity}. slots: variant_id: path.variant_id product_id: path.product_id store_id: path.store_id inventory_quantity: requestBody.inventory_quantity - text: Change the price of variant {variant_id} on product {product_id} at store {store_id} to {price}. slots: variant_id: path.variant_id product_id: path.product_id store_id: path.store_id price: requestBody.price method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}/images'].get update: x-apievangelist-phrasing: intent: List a product's images effect: read questions: - Which images are attached to a product in my store? - Can I list all photos for a product along with the variants they apply to? instructions: - text: List the images of product {product_id} in store {store_id}. slots: product_id: path.product_id store_id: path.store_id - text: Show all photos for product {product_id} at store {store_id}. slots: product_id: path.product_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}/images'].post update: x-apievangelist-phrasing: intent: Add an image to a product effect: write questions: - How do I attach another photo to a product? - Can I tie a new product image to specific variants? instructions: - text: Add image {id} from {url} to product {product_id} in store {store_id}. slots: id: requestBody.id url: requestBody.url product_id: path.product_id store_id: path.store_id - text: Attach a new image to product {product_id} at store {store_id} for variants {variant_ids}. slots: product_id: path.product_id store_id: path.store_id variant_ids: requestBody.variant_ids method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}/images/{image_id}'].get update: x-apievangelist-phrasing: intent: Get one product image effect: read questions: - What URL and variants does a specific product image have? - Can I fetch a single product photo's details by its ID? instructions: - text: Show image {image_id} of product {product_id} in store {store_id}. slots: image_id: path.image_id product_id: path.product_id store_id: path.store_id - text: Get the URL of product image {image_id} for product {product_id}, store {store_id}. slots: image_id: path.image_id product_id: path.product_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}/images/{image_id}'].delete update: x-apievangelist-phrasing: intent: Delete a product image effect: destructive questions: - Can I remove an outdated photo from a product? - What's the call to delete one image from a product in my store? instructions: - text: Delete image {image_id} from product {product_id} in store {store_id}. slots: image_id: path.image_id product_id: path.product_id store_id: path.store_id - text: Remove product photo {image_id} on product {product_id} at store {store_id}. slots: image_id: path.image_id product_id: path.product_id store_id: path.store_id method: generated generated: '2026-09-26' - target: $.paths['/ecommerce/stores/{store_id}/products/{product_id}/images/{image_id}'].patch update: x-apievangelist-phrasing: intent: Update a product image effect: write questions: - Can I swap the URL of an existing product image? - How do I change which variants an existing product photo applies to? instructions: - text: Point image {image_id} of product {product_id} in store {store_id} at URL {url}. slots: image_id: path.image_id product_id: path.product_id store_id: path.store_id url: requestBody.url - text: Assign existing product image {image_id} on product {product_id}, store {store_id}, to variants {variant_ids}. slots: image_id: path.image_id product_id: path.product_id store_id: path.store_id variant_ids: requestBody.variant_ids method: generated generated: '2026-09-26'