Shopify · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Shopify Ajax Cart API

7 actions 7 updates phrasing extends openapi/shopify-cart-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Shopify's API. It is a proposal applied on top of the contract, not a document Shopify publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 7

$.info
$.paths['/cart.js'].get
$.paths['/cart/add.js'].post
$.paths['/cart/update.js'].post
$.paths['/cart/change.js'].post
$.paths['/cart/clear.js'].post
$.paths['/cart/shipping_rates.json'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Shopify Ajax Cart API
  version: 1.0.0
extends: openapi/shopify-cart-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-24'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 6
- target: $.paths['/cart.js'].get
  update:
    x-apievangelist-phrasing:
      intent: See what's in the shopper's cart
      effect: read
      questions:
      - What's currently in the shopper's cart, with totals and currency?
      - How can my storefront script read the cart note and attributes?
      instructions:
      - text: Show me the current cart.
      - text: Get the cart contents with line items and totals.
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cart/add.js'].post
  update:
    x-apievangelist-phrasing:
      intent: Add product variants to the cart
      effect: write
      questions:
      - How do I add a product variant to the cart from my theme's JavaScript?
      - Can I add several variants with a subscription selling plan in one request?
      instructions:
      - text: 'Add these items to the cart: {items}.'
        slots:
          items: requestBody.items
      - text: Add {items} to the cart and render sections {sections} in the response.
        slots:
          items: requestBody.items
          sections: requestBody.sections
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cart/update.js'].post
  update:
    x-apievangelist-phrasing:
      intent: Update cart quantities, note or discount
      effect: write
      questions:
      - Can I apply a discount code to the whole cart?
      - Is there a way to set several line quantities and a cart note in one call?
      instructions:
      - text: Update cart quantities to {updates}.
        slots:
          updates: requestBody.updates
      - text: Apply discount code {discount} to the cart.
        slots:
          discount: requestBody.discount
      - text: Set the cart note to {note} and cart attributes to {attributes}.
        slots:
          note: requestBody.note
          attributes: requestBody.attributes
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cart/change.js'].post
  update:
    x-apievangelist-phrasing:
      intent: Change a single cart line item
      effect: write
      questions:
      - How do I change the quantity of just one line in the cart?
      - Can I switch the selling plan on one cart line?
      instructions:
      - text: Change cart line {line} to quantity {quantity}.
        slots:
          line: requestBody.line
          quantity: requestBody.quantity
      - text: Set the line with key {id} to quantity {quantity} and selling plan {selling_plan}.
        slots:
          id: requestBody.id
          quantity: requestBody.quantity
          selling_plan: requestBody.selling_plan
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cart/clear.js'].post
  update:
    x-apievangelist-phrasing:
      intent: Empty the cart
      effect: write
      questions:
      - Is there a way to remove every item from the cart at once?
      - What does the cart look like after it's cleared?
      instructions:
      - text: Clear the cart.
      - text: Remove all line items from the shopper's cart.
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cart/shipping_rates.json'].get
  update:
    x-apievangelist-phrasing:
      intent: Estimate shipping for the cart
      effect: read
      questions:
      - How much will shipping cost for this cart to a given postcode?
      - Which shipping rates are available for the cart in another country?
      instructions:
      - text: Estimate shipping for the cart to zip {zip} in {country}.
        slots:
          zip: query.shipping_address[zip]
          country: query.shipping_address[country]
      - text: Get cart shipping rates for {country}, {province}, postal code {zip}.
        slots:
          zip: query.shipping_address[zip]
          country: query.shipping_address[country]
          province: query.shipping_address[province]
      method: generated
      generated: '2026-09-24'