VTEX · Capability

VTex Checkout API — Shopping Cart

VTex Checkout API — Shopping Cart. 12 operations. Lead operation: VTex Get current or create a new cart. Self-contained Naftiko capability covering one Vtex business surface.

Run with Naftiko VtexShopping Cart

What You Can Do

GET
Createanewcart — VTex Get current or create a new cart
/v1/api/checkout/pub/orderform
GET
Getcartinformationbyid — VTex Get cart information by ID
/v1/api/checkout/pub/orderform/{orderformid}
POST
Addcoupons — VTex Add coupons to the cart
/v1/api/checkout/pub/orderform/{orderformid}/coupons
GET
Getcartinstallments — VTex Cart installments
/v1/api/checkout/pub/orderform/{orderformid}/installments
POST
Items — VTex Add cart items
/v1/api/checkout/pub/orderform/{orderformid}/items
PATCH
Itemshandle — VTex Handle cart items
/v1/api/checkout/pub/orderform/{orderformid}/items
POST
Removeallitems — VTex Remove all items from shopping cart
/v1/api/checkout/pub/orderform/{orderformid}/items/removeall
POST
Itemsupdate — VTex Update cart items
/v1/api/checkout/pub/orderform/{orderformid}/items/update
PUT
Pricechange — VTex Change price of an SKU in a cart
/v1/api/checkout/pub/orderform/{orderformid}/items/{itemindex}/price
PATCH
Ignoreprofiledata — VTex Ignore profile data on checkout
/v1/api/checkout/pub/orderform/{orderformid}/profile
POST
Cartsimulation — VTex Cart simulation
/v1/api/checkout/pub/orderforms/simulation
GET
Removeallpersonaldata — VTex Remove all personal data from shopping cart
/v1/checkout/changetoanonymoususer/{orderformid}

MCP Tools

vtex-get-current-create-new

VTex Get current or create a new cart

read-only idempotent
vtex-get-cart-information-id

VTex Get cart information by ID

read-only idempotent
vtex-add-coupons-cart

VTex Add coupons to the cart

vtex-cart-installments

VTex Cart installments

read-only idempotent
vtex-add-cart-items

VTex Add cart items

vtex-handle-cart-items

VTex Handle cart items

idempotent
vtex-remove-all-items-shopping

VTex Remove all items from shopping cart

vtex-update-cart-items

VTex Update cart items

vtex-change-price-sku-cart

VTex Change price of an SKU in a cart

idempotent
vtex-ignore-profile-data-checkout

VTex Ignore profile data on checkout

idempotent
vtex-cart-simulation

VTex Cart simulation

vtex-remove-all-personal-data

VTex Remove all personal data from shopping cart

read-only idempotent

Capability Spec

checkout-shopping-cart.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: VTex Checkout API — Shopping Cart
  description: 'VTex Checkout API — Shopping Cart. 12 operations. Lead operation: VTex Get current or create a new cart. Self-contained
    Naftiko capability covering one Vtex business surface.'
  tags:
  - Vtex
  - Shopping Cart
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    VTEX_API_KEY: VTEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: checkout-shopping-cart
    baseUri: https://{accountName}.{environment}.com.br
    description: VTex Checkout API — Shopping Cart business capability. Self-contained, no shared references.
    resources:
    - name: api-checkout-pub-orderForm
      path: /api/checkout/pub/orderForm
      operations:
      - name: createanewcart
        method: GET
        description: VTex Get current or create a new cart
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: forceNewCart
          in: query
          type: boolean
          description: Use this query parameter to create a new empty shopping cart.
    - name: api-checkout-pub-orderForm-orderFormId
      path: /api/checkout/pub/orderForm/{orderFormId}
      operations:
      - name: getcartinformationbyid
        method: GET
        description: VTex Get cart information by ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderFormId
          in: path
          type: string
          description: ID of the orderForm corresponding to the cart whose information you want to retrieve.
          required: true
        - name: refreshOutdatedData
          in: query
          type: boolean
          description: It is possible to use the [Update cart items request](https://developers.vtex.com/vtex-rest-api/reference/cart-update#itemsupdate)
            so as to allow outdated infor
    - name: api-checkout-pub-orderForm-orderFormId-coupons
      path: /api/checkout/pub/orderForm/{orderFormId}/coupons
      operations:
      - name: addcoupons
        method: POST
        description: VTex Add coupons to the cart
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderFormId
          in: path
          type: string
          description: ID of the orderForm that will receive coupon information.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-checkout-pub-orderForm-orderFormId-installments
      path: /api/checkout/pub/orderForm/{orderFormId}/installments
      operations:
      - name: getcartinstallments
        method: GET
        description: VTex Cart installments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderFormId
          in: path
          type: string
          description: ID of the `orderForm` to be consulted for installments.
          required: true
        - name: paymentSystem
          in: query
          type: integer
          description: ID of the payment method to be consulted for installments.
          required: true
    - name: api-checkout-pub-orderForm-orderFormId-items
      path: /api/checkout/pub/orderForm/{orderFormId}/items
      operations:
      - name: items
        method: POST
        description: VTex Add cart items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderFormId
          in: path
          type: string
          description: ID of the orderForm corresponding to the cart in which the new item will be added.
          required: true
        - name: allowedOutdatedData
          in: query
          type: array
          description: In order to optimize performance, this parameter allows some information to not be updated when there
            are changes in the minicart. For instance, if a shopper ad
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: itemshandle
        method: PATCH
        description: VTex Handle cart items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderFormId
          in: path
          type: string
          description: ID of the orderForm corresponding to the cart in which items will be handled.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-checkout-pub-orderForm-orderFormId-items-removeAll
      path: /api/checkout/pub/orderForm/{orderFormId}/items/removeAll
      operations:
      - name: removeallitems
        method: POST
        description: VTex Remove all items from shopping cart
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderFormId
          in: path
          type: string
          description: ID of the orderForm corresponding to the cart whose items you want to remove.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-checkout-pub-orderForm-orderFormId-items-update
      path: /api/checkout/pub/orderForm/{orderFormId}/items/update
      operations:
      - name: itemsupdate
        method: POST
        description: VTex Update cart items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderFormId
          in: path
          type: string
          description: ID of the `orderForm` corresponding to the cart whose items you want to update.
          required: true
        - name: allowedOutdatedData
          in: query
          type: array
          description: In order to optimize performance, this parameter allows some information to not be updated when there
            are changes in the minicart. For instance, if a shopper ad
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-checkout-pub-orderForm-orderFormId-items-itemIndex-price
      path: /api/checkout/pub/orderForm/{orderFormId}/items/{itemIndex}/price
      operations:
      - name: pricechange
        method: PUT
        description: VTex Change price of an SKU in a cart
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderFormId
          in: path
          type: string
          description: ID of the orderForm corresponding to the cart whose items will have the price changed.
          required: true
        - name: itemIndex
          in: path
          type: string
          description: The index of the item in the cart. Each cart item is identified by an index, starting in 0.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-checkout-pub-orderForm-orderFormId-profile
      path: /api/checkout/pub/orderForm/{orderFormId}/profile
      operations:
      - name: ignoreprofiledata
        method: PATCH
        description: VTex Ignore profile data on checkout
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderFormId
          in: path
          type: string
          description: ID of the orderForm corresponding to the cart whose items will have the price changed.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-checkout-pub-orderForms-simulation
      path: /api/checkout/pub/orderForms/simulation
      operations:
      - name: cartsimulation
        method: POST
        description: VTex Cart simulation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: RnbBehavior
          in: query
          type: integer
          description: This parameter defines which promotions apply to the simulation. Use `0` for simulations at cart stage,
            which means all promotions apply. In case of window simu
        - name: sc
          in: query
          type: integer
          description: Trade Policy (Sales Channel) identification.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: checkout-changeToAnonymousUser-orderFormId
      path: /checkout/changeToAnonymousUser/{orderFormId}
      operations:
      - name: removeallpersonaldata
        method: GET
        description: VTex Remove all personal data from shopping cart
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderFormId
          in: path
          type: string
          description: ID of the orderForm corresponding to the cart whose user's personal data you want to remove.
          required: true
    authentication:
      type: apikey
      key: X-VTEX-API-AppKey
      value: '{{env.VTEX_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: checkout-shopping-cart-rest
    port: 8080
    description: REST adapter for VTex Checkout API — Shopping Cart. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/checkout/pub/orderform
      name: api-checkout-pub-orderform
      description: REST surface for api-checkout-pub-orderForm.
      operations:
      - method: GET
        name: createanewcart
        description: VTex Get current or create a new cart
        call: checkout-shopping-cart.createanewcart
        with:
          forceNewCart: rest.forceNewCart
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/checkout/pub/orderform/{orderformid}
      name: api-checkout-pub-orderform-orderformid
      description: REST surface for api-checkout-pub-orderForm-orderFormId.
      operations:
      - method: GET
        name: getcartinformationbyid
        description: VTex Get cart information by ID
        call: checkout-shopping-cart.getcartinformationbyid
        with:
          orderFormId: rest.orderFormId
          refreshOutdatedData: rest.refreshOutdatedData
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/checkout/pub/orderform/{orderformid}/coupons
      name: api-checkout-pub-orderform-orderformid-coupons
      description: REST surface for api-checkout-pub-orderForm-orderFormId-coupons.
      operations:
      - method: POST
        name: addcoupons
        description: VTex Add coupons to the cart
        call: checkout-shopping-cart.addcoupons
        with:
          orderFormId: rest.orderFormId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/checkout/pub/orderform/{orderformid}/installments
      name: api-checkout-pub-orderform-orderformid-installments
      description: REST surface for api-checkout-pub-orderForm-orderFormId-installments.
      operations:
      - method: GET
        name: getcartinstallments
        description: VTex Cart installments
        call: checkout-shopping-cart.getcartinstallments
        with:
          orderFormId: rest.orderFormId
          paymentSystem: rest.paymentSystem
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/checkout/pub/orderform/{orderformid}/items
      name: api-checkout-pub-orderform-orderformid-items
      description: REST surface for api-checkout-pub-orderForm-orderFormId-items.
      operations:
      - method: POST
        name: items
        description: VTex Add cart items
        call: checkout-shopping-cart.items
        with:
          orderFormId: rest.orderFormId
          allowedOutdatedData: rest.allowedOutdatedData
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: itemshandle
        description: VTex Handle cart items
        call: checkout-shopping-cart.itemshandle
        with:
          orderFormId: rest.orderFormId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/checkout/pub/orderform/{orderformid}/items/removeall
      name: api-checkout-pub-orderform-orderformid-items-removeall
      description: REST surface for api-checkout-pub-orderForm-orderFormId-items-removeAll.
      operations:
      - method: POST
        name: removeallitems
        description: VTex Remove all items from shopping cart
        call: checkout-shopping-cart.removeallitems
        with:
          orderFormId: rest.orderFormId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/checkout/pub/orderform/{orderformid}/items/update
      name: api-checkout-pub-orderform-orderformid-items-update
      description: REST surface for api-checkout-pub-orderForm-orderFormId-items-update.
      operations:
      - method: POST
        name: itemsupdate
        description: VTex Update cart items
        call: checkout-shopping-cart.itemsupdate
        with:
          orderFormId: rest.orderFormId
          allowedOutdatedData: rest.allowedOutdatedData
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/checkout/pub/orderform/{orderformid}/items/{itemindex}/price
      name: api-checkout-pub-orderform-orderformid-items-itemindex-price
      description: REST surface for api-checkout-pub-orderForm-orderFormId-items-itemIndex-price.
      operations:
      - method: PUT
        name: pricechange
        description: VTex Change price of an SKU in a cart
        call: checkout-shopping-cart.pricechange
        with:
          orderFormId: rest.orderFormId
          itemIndex: rest.itemIndex
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/checkout/pub/orderform/{orderformid}/profile
      name: api-checkout-pub-orderform-orderformid-profile
      description: REST surface for api-checkout-pub-orderForm-orderFormId-profile.
      operations:
      - method: PATCH
        name: ignoreprofiledata
        description: VTex Ignore profile data on checkout
        call: checkout-shopping-cart.ignoreprofiledata
        with:
          orderFormId: rest.orderFormId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/checkout/pub/orderforms/simulation
      name: api-checkout-pub-orderforms-simulation
      description: REST surface for api-checkout-pub-orderForms-simulation.
      operations:
      - method: POST
        name: cartsimulation
        description: VTex Cart simulation
        call: checkout-shopping-cart.cartsimulation
        with:
          RnbBehavior: rest.RnbBehavior
          sc: rest.sc
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/checkout/changetoanonymoususer/{orderformid}
      name: checkout-changetoanonymoususer-orderformid
      description: REST surface for checkout-changeToAnonymousUser-orderFormId.
      operations:
      - method: GET
        name: removeallpersonaldata
        description: VTex Remove all personal data from shopping cart
        call: checkout-shopping-cart.removeallpersonaldata
        with:
          orderFormId: rest.orderFormId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: checkout-shopping-cart-mcp
    port: 9090
    transport: http
    description: MCP adapter for VTex Checkout API — Shopping Cart. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: vtex-get-current-create-new
      description: VTex Get current or create a new cart
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: checkout-shopping-cart.createanewcart
      with:
        forceNewCart: tools.forceNewCart
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-get-cart-information-id
      description: VTex Get cart information by ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: checkout-shopping-cart.getcartinformationbyid
      with:
        orderFormId: tools.orderFormId
        refreshOutdatedData: tools.refreshOutdatedData
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-add-coupons-cart
      description: VTex Add coupons to the cart
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: checkout-shopping-cart.addcoupons
      with:
        orderFormId: tools.orderFormId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-cart-installments
      description: VTex Cart installments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: checkout-shopping-cart.getcartinstallments
      with:
        orderFormId: tools.orderFormId
        paymentSystem: tools.paymentSystem
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-add-cart-items
      description: VTex Add cart items
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: checkout-shopping-cart.items
      with:
        orderFormId: tools.orderFormId
        allowedOutdatedData: tools.allowedOutdatedData
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-handle-cart-items
      description: VTex Handle cart items
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: checkout-shopping-cart.itemshandle
      with:
        orderFormId: tools.orderFormId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-remove-all-items-shopping
      description: VTex Remove all items from shopping cart
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: checkout-shopping-cart.removeallitems
      with:
        orderFormId: tools.orderFormId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-update-cart-items
      description: VTex Update cart items
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: checkout-shopping-cart.itemsupdate
      with:
        orderFormId: tools.orderFormId
        allowedOutdatedData: tools.allowedOutdatedData
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-change-price-sku-cart
      description: VTex Change price of an SKU in a cart
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: checkout-shopping-cart.pricechange
      with:
        orderFormId: tools.orderFormId
        itemIndex: tools.itemIndex
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-ignore-profile-data-checkout
      description: VTex Ignore profile data on checkout
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: checkout-shopping-cart.ignoreprofiledata
      with:
        orderFormId: tools.orderFormId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-cart-simulation
      description: VTex Cart simulation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: checkout-shopping-cart.cartsimulation
      with:
        RnbBehavior: tools.RnbBehavior
        sc: tools.sc
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-remove-all-personal-data
      description: VTex Remove all personal data from shopping cart
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: checkout-shopping-cart.removeallpersonaldata
      with:
        orderFormId: tools.orderFormId
      outputParameters:
      - type: object
        mapping: $.