v52

latestOpenAPI 3.0.0raw.githubusercontent.com2026-08-014683.0 MB
Shopping cart

Split a cart item

Splits a single item in a cart into multiple items, distributing its current quantity among them.

The orderForm is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the orderFormId is the identification code of a given cart.

You need to inform which cart you are referring to, by sending its orderFormId, and which item you want to split, by sending its uniqueId as the itemUniqueId path parameter.

In the request body, send an array of objects, each containing a quantity value. The item is then split into as many new items as there are objects in the array, each new item receiving the corresponding quantity. The sum of all the quantity values sent must match the current quantity of the item being split, and each resulting item is assigned a new uniqueId.

This request fails if the item's noSplitItem field is set to true. To check or change this configuration, use the Handle cart items request.

Permissions

This endpoint does not require permissions.

post/api/checkout/pub/orderForm/{orderFormId}/items/{itemUniqueId}/split

Path parameters

orderFormIdstring required
Example:ede846222cd44046ba6c638442c3505a

ID of the orderForm corresponding to the cart whose item will be split.

itemUniqueIdstring required
Example:9D6E447B3FF64CEDA33B17C01379C119

The uniqueId of the item to be split. Each cart item is identified by a unique ID, informed in the uniqueId field of the orderForm's items array.

Query parameters

individualShippingEstimatesboolean
Example:true

Shows the product's estimated shipping date in the shippingEstimate field from the orderForm.

Headers

Content-Typestring required

Type of the content being sent.

Acceptstring required

HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.

Request body

quantityinteger required

The quantity of the SKU that this new item will have after the split.

Example request

[
  {
    "quantity": 1
  }
]

Response

OK

orderFormIdstring

ID of the orderForm corresponding to a specific cart.

salesChannelstring

Attribute created by the seller, in their VTEX store configuration.

loggedInboolean

Indicates whether the user is logged into the store.

isCheckedInboolean

Indicates whether order is checked in.

storeIdstring nullable

ID of the store.

allowManualPriceboolean

Permission to modify item price manually.

canEditDataboolean

Data can be edited.

userProfileIdstring nullable

Unique ID associated with the customer profile.

profileProviderstring

Profile provider.

availableAccountsstring[]

Available accounts.

userTypestring nullable

User type.

ignoreProfileDataboolean

Ignore customer profile data.

valueinteger

Total value of the order without separating cents. For example, $24.99 is represented as 2499.

messagesstring[]

Array containing an object for each message generated by our servers while processing the request.

selectableGiftsstring[]

Array containing the data of the item selected as a gift.

totalizersobject[]

Array containing an object for each totalizer for the purchase. Totalizers contain the sum of values for a specific part of the order (e.g. Total item value, Total shipping value).

commercialConditionDataobject nullable

Object containing commercial condition information.

storePreferencesDataobject

Object containing data from the store's configuration (stored in VTEX's License Manager).

giftRegistryDataobject nullable

Gift registry list information.

openTextFieldstring nullable

Optional field meant to hold additional information about the order. We recommend using this field for text, not data formats such as JSON even if escaped. For that purpose, see Creating customizable fields.

hooksDataobject nullable

Hooks information.

subscriptionDataobject nullable

Subscription information.