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.
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
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: $.