> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# Resource: Cart V2

# Type: Cart Object

# Link: https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/cart-object.md

## Description: A shopping cart for a customer on a Wix eCommerce site.

A cart holds the customer's selected items, applied discounts (coupons, automatic rules),
delivery information, and payment details before the order is placed.

Carts may be deleted after a period of inactivity.

Use the [Cart Service](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/introduction.md) to manage carts by ID,
or the [Current Cart Service](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/introduction.md) to manage
the current customer's cart by session.

## Schema:

```json
 Type: Cart Object | type: Cart
 Description: A shopping cart for a customer on a Wix eCommerce site.

A cart holds the customer's selected items, applied discounts (coupons, automatic rules),
delivery information, and payment details before the order is placed.

Carts may be deleted after a period of inactivity.

Use the [Cart Service](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/introduction.md) to manage carts by ID,
or the [Current Cart Service](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/introduction.md) to manage
the current customer's cart by session.
       - name: id  | type: string | description: Cart ID.
       - name: createdDate  | type: string | description: Date and time the Cart was created.
           - name: seconds  | type: string | description: 
           - name: nanos  | type: number | description: 
       - name: updatedDate  | type: string | description: Date and time the Cart was last updated.
       - name: revision  | type: string | description: Revision number, which increments by 1 each time the Cart is updated.
       - name: lineItems  | type: Array<LineItem> | description: Line items added to the Cart by the customer. This list may include in-stock items and invalid or out-of-stock items.
           - name: id  | type: string | description: Unique identifier for the line item within the cart.
           - name: name  | type: TranslatableString | description: Display name for the line item.
               - name: original  | type: string | description: __Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).  Min: 1 character. Max: 200 characters.
               - name: translated  | type: string | description: String translated into the buyer's language.  Min: 1 character. Max: 400 characters. Default: Same as `original`.
           - name: quantityInfo  | type: ItemQuantityInfo | description: Quantity details for the line item.
               - name: confirmedQuantity  | type: number | description: Confirmed quantity to purchase. The minimum of `requestedQuantity` and `availableQuantity`.
               - name: requestedQuantity  | type: number | description: Quantity the customer originally requested.
               - name: availableQuantity  | type: number | description: Maximum quantity available for purchase.
               - name: fixedQuantity  | type: boolean | description: Whether the line item quantity is fixed and can't be changed.  Default: `false`
           - name: pricing  | type: ItemPricingInfo | description: Pricing details for the line item.
               - name: unitPrice  | type: ConvertedMoney | description: Final unit price after discounts. Includes tax when `taxInfo.pricesIncludeTax` is true.
               - name: totalPrice  | type: ConvertedMoney | description: Final total price for this item (unit price × quantity). Includes tax when `taxInfo.pricesIncludeTax` is true.
               - name: priceDescription  | type: PriceDescription | description: Additional price description. For example, when the price is `0` but you need more detail, such as "Starts at $67".
               - name: priceUndetermined  | type: boolean | description: Whether the price isn't yet defined and will be updated after the order is created.
               - name: breakdown  | type: ItemPriceBreakdown | description: Detailed breakdown of price components.
           - name: source  | type: ItemSource | description: Information about the line item's origin.
               - name: catalogReference  | type: CatalogReference | description: Catalog and item reference: IDs for the item and catalog, plus optional details. Optional for custom line items, which don't trigger the Catalog service plugin.
               - name: catalogOverrideFields  | type: CatalogOverrideFields | description: Overriding values for catalog item properties.
               - name: rootCatalogItemId  | type: string | description: When `catalogReference.catalogItemId` isn't the actual catalog item ID, this field returns the true catalog item ID. For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID, so this value is the service ID. In most cases, this matches `catalogReference.catalogItemId`. Used in membership validation.
               - name: inventoryAppId  | type: string | description: ID of the app managing the inventory.
           - name: attributes  | type: ItemAttributes | description: Display details for the item.
               - name: descriptionLines  | type: Array<DescriptionLine> | description: Description lines for the item.
               - name: image  | type: Image | description: Item image.
               - name: url  | type: PageUrlV2 | description: URL of the item's page on the site.
               - name: policies  | type: Array<Policy> | description: Policies shown to the buyer on the checkout page.
               - name: itemType  | type: ItemType | description: Item type: preset or custom.
               - name: physicalProperties  | type: PhysicalProperties | description: Physical properties of the item. When relevant, includes SKU, weight, and shippability.
               - name: subscriptionInfo  | type: SubscriptionOptionInfo | description: Subscription option details.
               - name: serviceProperties  | type: ServiceProperties | description: Service properties. When relevant, includes date and number of participants.
               - name: membersOnly  | type: boolean | description: Whether the item can only be purchased by site members.  Default: `false`
           - name: deliveryConfig  | type: ItemDeliveryConfig | description: Delivery configuration for the line item.
               - name: deliveryProfileId  | type: string | description: Delivery profile ID.
               - name: fulfillerId  | type: string | description: Optional custom fulfiller ID.
           - name: taxConfig  | type: ItemTaxConfig | description: Tax configuration for the line item.
               - name: taxableAddress  | type: TaxableAddress | description: Address used for tax calculation.
               - name: taxGroupId  | type: string | description: Tax group ID for this line item.
           - name: paymentConfig  | type: ItemPaymentConfig | description: Payment configuration for the line item.
               - name: savePaymentMethod  | type: boolean | description: Whether to save the payment method on the order.  Default: `false`
               - name: consentRequiredPaymentPolicy  | type: string | description: Item payment policy that requires buyer consent to complete the purchase. Displayed on the checkout page.
               - name: depositAmount  | type: ConvertedMoney | description: Partial payment due upfront during checkout. Only when `paymentOption` is `DEPOSIT_ONLINE`.
               - name: selectedMembership  | type: SelectedMembership | description: Selected membership used as payment for this item. Use with `paymentOption` `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. Can be empty when `paymentOption` is `MEMBERSHIP_OFFLINE`.  DEPRECATED — migrate to `membership`. Removed once all clients migrate.
               - name: paymentOption  | type: string | description: Selected payment option type for this item.  Default: `FULL_PAYMENT_ONLINE`
           - name: status  | type: string | description: Inventory availability status for the line item.
               enum: IN_STOCK, PARTIALLY_IN_STOCK, OUT_OF_STOCK, REMOVED_FROM_CATALOG
           - name: extendedFields  | type: ExtendedFields | description: Custom extended fields for the line item object.  [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md) must be configured using the Checkout & Orders - Line Items Schema Plugin in the app dashboard before they can be accessed with API calls.
               - name: namespaces  | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).
           - name: modifierGroups  | type: Array<ModifierGroup> | description: Modifier groups added to the item.
               - name: id  | type: string | description: Modifier group ID.
               - name: name  | type: TranslatableString | description: Modifier group name.
               - name: modifiers  | type: Array<ItemModifier> | description: Modifiers in this group.
           - name: discounts  | type: Array<ItemDiscount> | description: Discounts applied to this line item.
               - name: name  | type: TranslatableString | description: Discount display name.
               - name: amountOff  | type: ConvertedMoney | description: Total amount taken off the item's sale price for the full line item quantity.
               - name: source  | type: DiscountSource | description: Discount source (for example, coupon or automatic discount) and related identifiers.
           - name: customLineItem  | type: boolean | description: Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.
       - name: subtotal  | type: ConvertedMoney | description: The sum of all line item final prices.
           - name: amount  | type: string | description: Monetary amount in the original currency, as specified in `businessInfo.currencyCode`.
           - name: convertedAmount  | type: string | description: Monetary amount in the converted currency, as specified in `customerInfo.currencyCode`.  Default: `amount`.
       - name: note  | type: string | description: Optional message left by the customer. Usually intended for the merchant and contains special instructions, requests, or clarifications related to the order.
           - name: value  | type: string | description: 
       - name: coupons  | type: Array<Coupon> | description: List of coupons added to the Cart. Currently only one coupon code is supported.
           - name: id  | type: string | description: Coupon ID in the cart.
           - name: code  | type: string | description: Coupon code entered at checkout.
       - name: source  | type: CartSource | description: Information about the source of the Cart, detailing the origin or context in which the Cart was created.
           - name: channelType  | type: string | description: Sales channel that created the cart.
               enum: UNSPECIFIED, WEB, POS, EBAY, AMAZON, OTHER_PLATFORM, WIX_APP_STORE, WIX_INVOICES, BACKOFFICE_MERCHANT, WISH, CLASS_PASS, GLOBAL_E, FACEBOOK, ETSY, TIKTOK, FAIRE_COM, PAYPAL_AGENTIC_CHECKOUT, STRIPE_AGENTIC_CHECKOUT
           - name: externalReferences  | type: Array<ExternalReference> | description: External app and resource references for this cart, used for integration and tracking across platforms.
               - name: appId  | type: string | description: ID of the app associated with the purchase flow. For example, the Wix Pay Links app ID.
               - name: resourceId  | type: string | description: Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system. For example, a Wix Pay Link ID.
           - name: createdBy  | type: CreatedBy | description: Entity that created the cart.
           - name: customContentReference  | type: CustomContentReference | description: App and component IDs for the custom checkout page content provider.
               - name: appId  | type: string | description: App ID for the checkout content provider. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).
               - name: componentId  | type: string | description: Component ID within that app. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).
       - name: businessInfo  | type: BusinessInfo | description: Information about the site from which the Cart's line items were added.
           - name: locationId  | type: string | description: Business location ID for the cart. See the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction.md).
           - name: languageCode  | type: string | description: 2-letter language code in ISO 639-1 alpha-2 format. The business's default language.
           - name: currencyCode  | type: string | description: Three-letter currency code in ISO-4217 alphabetic format. The site's base currency; it doesn't change when the [customer selects a different display currency](https://support.wix.com/en/article/multicurrency-an-overview).
       - name: customerInfo  | type: CustomerInfo | description: Information about the customer that owns the Cart.
           - name: firstName  | type: string | description: Customer's first name.
           - name: lastName  | type: string | description: Customer's last name.
           - name: phone  | type: string | description: Customer's phone number.
           - name: company  | type: string | description: Company name.
           - name: vatId  | type: VatId | description: Business VAT registration number.
               - name: id  | type: string | description: Customer's tax ID.
               - name: type  | type: string | description: Tax type.  Supported values: + `CPF`: for individual tax payers + `CNPJ`: for corporations
           - name: email  | type: string | description: Customer's email address.
           - name: contactId  | type: string | description: Customer's contact ID. Created automatically if one doesn't exist yet. See the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction).
           - name: languageCode  | type: string | description: 2-letter language code in ISO 639-1 alpha-2 format. Resolved automatically from request metadata (`x-wix-linguist` header).
           - name: currencyCode  | type: string | description: Three-letter currency code in ISO-4217 alphabetic format. [Currency the customer selects](https://support.wix.com/en/article/multicurrency-an-overview) during checkout; it's their preferred display currency and may differ from the site's default.
       - name: deliveryInfo  | type: DeliveryInfo | description: Delivery-related information associated with the Cart.
           - name: address  | type: Address | description: Delivery address.
               - name: country  | type: string | description: Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.
               - name: subdivision  | type: string | description: Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.
               - name: city  | type: string | description: City name.
               - name: postalCode  | type: string | description: Postal or zip code.
               - name: streetAddress  | type: StreetAddress | description: Street address.
               - name: addressLine  | type: string | description: Main address line (usually street name and number).
               - name: addressLine2  | type: string | description: Free text providing more detailed address info. Usually contains apt, suite, floor.
               - name: geocode  | type: AddressLocation | description: Geocode object containing latitude and longitude coordinates.
               - name: countryFullname  | type: string | description: Country's full name.
               - name: subdivisionFullname  | type: string | description: Subdivision full-name.
           - name: method  | type: DeliveryMethod | description: Delivery method selected by the customer.
               - name: code  | type: string | description: Shipping rate code. Example: `"usps_std_overnight"`.
               - name: appId  | type: string | description: Carrier app ID.
               - name: title  | type: TranslatableString | description: Delivery rate title. Examples: `"USPS Standard Overnight Delivery"`, `"Standard"`, `"First-Class Package International"`.
               - name: pickup  | type: boolean | description: Whether this method is pickup.
           - name: weightUnit  | type: string | description: Weight unit used when shipping items (for example, kg or lb).
               enum: UNSPECIFIED_WEIGHT_UNIT, KG, LB
       - name: taxInfo  | type: TaxInfo | description: Tax-related information associated with the Cart.
           - name: pricesIncludeTax  | type: boolean | description: Whether tax is already included in prices (line items, delivery, additional fees).
           - name: taxExemptGroupId  | type: string | description: Tax-exempt group ID applied for tax exemptions.
       - name: paymentInfo  | type: PaymentInfo | description: Payment-related information associated with the Cart.
           - name: giftCards  | type: Array<GiftCard> | description: Gift cards applied to the payment. Only one gift card is supported.
               - name: id  | type: string | description: Unique identifier of the gift card within the cart.
               - name: obfuscatedCode  | type: string | description: Partially masked gift card code.
               - name: appId  | type: string | description: App ID of the gift card provider.
               - name: externalId  | type: string | description: External ID in the gift card provider's system, used for integration and tracking across platforms.
               - name: requestedRedeemAmount  | type: ConvertedMoney | description: Amount to redeem from this gift card.
           - name: currencyCode  | type: string | description: Three-letter currency code in ISO-4217 alphabetic format. Currency used to process payment. Matches `customerInfo.currencyCode` when that currency is supported for payment, otherwise falls back to `businessInfo.currencyCode`.
           - name: billingAddress  | type: Address | description: Billing address.
           - name: billingContact  | type: FullAddressContactDetails | description: Billing contact details.
               - name: firstName  | type: string | description: First name.
               - name: lastName  | type: string | description: Last name.
               - name: phone  | type: string | description: Phone number.
               - name: company  | type: string | description: Company name.
               - name: vatId  | type: VatId | description: Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.
       - name: orderPlaced  | type: boolean | description: Whether the Cart has been placed as an Order. Defaults to `false`.
       - name: orderId  | type: string | description: Order ID. Empty until the checkout process is completed.
       - name: purchaseFlowId  | type: string | description: Persistent ID that correlates the Cart with the created Order after checkout is completed.
       - name: settings  | type: CartSettings | description: Additional cart settings.  Settings can only be configured at cart creation time and can't be changed afterwards.
           - name: lockGiftCard  | type: boolean | description: Whether adding or removing a gift card from the cart is restricted.
               - name: value  | type: boolean | description: 
           - name: lockCouponCode  | type: boolean | description: Whether adding or removing a coupon code from the cart is restricted.
           - name: policyAgreementCheckboxDisabled  | type: boolean | description: Whether the policy agreement checkbox is disabled on the checkout page.
           - name: manualPaymentDisabled  | type: boolean | description: Whether the manual payment option is disabled on the checkout page.
       - name: customCheckoutUrl  | type: string | description: Custom checkout URL to redirect the customer to a checkout page. By default, customers are redirected to the standard Wix checkout page. Clients can override this behavior by providing their own URL here. If the URL contains the placeholder `{checkout_id}`, it will be replaced with the actual Cart ID.
       - name: extendedFields  | type: ExtendedFields | description: Custom fields. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md) must be configured in the app dashboard before they can be accessed with API calls.
       - name: currentCart  | type: boolean | description: Whether this is the customer's current cart. The current cart can be accessed using the identity context (for example, `visitorId` from session cookies) without an explicit cart ID.
       - name: demo  | type: boolean | description: Whether this is a demo cart. Demo carts are created in the Wix editor for merchant preview and can't proceed to checkout.  Default: `false`

```