> 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

# MarkCartAsCompleted

# Package: purchaseFlow

# Namespace: CartService

# Method link: https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/mark-cart-as-completed.md

## Permission Scopes:
Write Carts V2: SCOPE.ECOM.WRITE-CARTS-V2

## Introduction

Marks the cart as completed after an order is created from it.

Sets `orderPlaced` to `true`.

---

## REST API

### Schema

```
 Method: markCartAsCompleted
 Description: Marks the cart as completed after an order is created from it.  Sets `orderPlaced` to `true`.
 URL: https://www.wixapis.com/ecom/v2/carts/{cartId}/mark-cart-as-completed
 Method: POST
 Method parameters:
   param name: orderId | type: orderId | description: Order GUID created from the cart.  | validation: format GUID
 Return type: MarkCartAsCompletedResponse
  - name: cart | type: Cart | description: Updated cart.  
     - name: id | type: string | description: Cart GUID.  | read-only: true | validation: format GUID
     - name: createdDate | type: string | description: Date and time the Cart was created.  | read-only: true | validation: format date-time
     - name: updatedDate | type: string | description: Date and time the Cart was last updated.  | read-only: true | validation: format date-time
     - name: revision | type: string | description: Revision number, which increments by 1 each time the Cart is updated.  | read-only: true 
     - 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.  | read-only: true | validation: maxItems 300
        - name: id | type: string | description: Unique identifier for the line item within the cart.  | validation: format GUID
        - 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.  | validation: minLength 1, maxLength 200
           - name: translated | type: string | description: String translated into the buyer's language.  Min: 1 character. Max: 400 characters. Default: Same as `original`.  | validation: minLength 1, maxLength 400
        - name: quantityInfo | type: ItemQuantityInfo | description: Quantity details for the line item.  
           - name: confirmedQuantity | type: integer | description: Confirmed quantity to purchase. The minimum of `requestedQuantity` and `availableQuantity`.  | validation: minimum 1, maximum 100000
           - name: requestedQuantity | type: integer | description: Quantity the customer originally requested.  | validation: minimum 1, maximum 100000
           - name: availableQuantity | type: integer | description: Maximum quantity available for purchase.  | validation: format int32
           - 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: amount | type: string | description: Monetary amount in the original currency, as specified in `businessInfo.currencyCode`.  | validation: format DECIMAL_VALUE, decimalValue {"gte":"0","lte":"999999999","maxScale":3}
              - name: convertedAmount | type: string | description: Monetary amount in the converted currency, as specified in `customerInfo.currencyCode`.  Default: `amount`.  | read-only: true | validation: format DECIMAL_VALUE, decimalValue {"gte":"0","lte":"999999999","maxScale":3}
           - 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: original | type: string | description: __Required.__ Price description 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).  | validation: minLength 1, maxLength 100
              - name: translated | type: string | description: Price description translated into the buyer's language.  Default: Same as `original`.  | validation: minLength 1, maxLength 100
           - 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: fullPrice | type: ConvertedMoney | description: Full catalog price for a single item before discounts, including modifiers. Includes tax when `taxInfo.pricesIncludeTax` is true.  
              - name: salePrice | type: ConvertedMoney | description: Catalog sale price for a single item, including modifiers. Includes tax when `taxInfo.pricesIncludeTax` is true.  
              - name: totalModifiersPrice | type: ConvertedMoney | description: Total price of all modifiers for a single item. Includes tax when `taxInfo.pricesIncludeTax` is true.  
        - name: source | type: ItemSource | description: Information about the line item's origin.  
           - name: catalogReference | type: CatalogReference | description: Catalog and item reference: GUIDs for the item and catalog, plus optional details. Optional for custom line items, which don't trigger the Catalog service plugin.  
              - name: catalogItemId | type: string | description: GUID of the item within the catalog it belongs to.  | validation: minLength 1, maxLength 36
              - name: appId | type: string | description: GUID of the app providing the catalog.  You can get your app's GUID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).  For items from Wix catalogs, the following values always apply: + Wix Stores: `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` + Wix Bookings: `"13d21c63-b5ec-5912-8397-c3a5ddb27a97"` + Wix Restaurants: `"9a5d83fd-8570-482e-81ab-cfa88942ee60"`  | validation: minLength 1
              - name: options | type: object | description: Additional item details in `key:value` pairs.  Use this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.  For Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration.md) or [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration.md), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction.md).  
           - name: catalogOverrideFields | type: CatalogOverrideFields | description: Overriding values for catalog item properties.  
              - name: name | type: TranslatableString | description: Display name for the line item.  
              - name: salePrice | type: string | description: Sale price for a single item after modifiers, before discounts.  | validation: decimalValue {"gte":"0","lte":"999999999","maxScale":3}
              - name: fullPrice | type: string | description: Full price for a single item after modifiers, before discounts.  | validation: decimalValue {"gte":"0","lte":"999999999","maxScale":3}
              - name: descriptionLines | type: array<DescriptionLine> | description: Description lines for the item. Shown when displaying the line item to buyers.  | validation: minItems 0, maxItems 20
                 - ONE-OF: 
                    - name: plainText | type: PlainTextValue | description: Description line plain text value.  
                       - name: original | type: string | description: Description line plain text value 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).  | validation: maxLength 600
                       - name: translated | type: string | description: Description line plain text value translated into the buyer's language.  Default: Same as `original`.  | validation: maxLength 600
                    - name: colorInfo | type: Color | description: Description line color value.  
                       - name: original | type: string | description: Description line color name 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).  | validation: maxLength 500
                       - name: translated | type: string | description: Description line color name translated into the buyer's language.  Default: Same as `original`.  | validation: maxLength 500
                       - name: code | type: string | description: HEX or RGB color code for display.  
                 - name: name | type: DescriptionLineName | description: Description line name.  
                    - name: original | type: string | description: Description line name 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).  | validation: maxLength 100
                    - name: translated | type: string | description: Description line name translated into the buyer's language.  Default: Same as `original`.  | validation: maxLength 200
              - name: physicalProperties | type: PhysicalProperties | description: Physical properties of the item.  
                 - name: weight | type: number | description: Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.  | validation: format double
                 - name: sku | type: string | description: Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).  | validation: maxLength 40
                 - name: shippable | type: boolean | description: Whether this line item is shippable.  
              - name: image | type: Image | description: Item image.  
                 - name: id | type: string | description: WixMedia image GUID.  | validation: maxLength 400
                 - name: url | type: string | description: Image URL, if exists.  | validation: format WEB_URL
                 - name: height | type: integer | description: Original image height.  | read-only: true 
                 - name: width | type: integer | description: Original image width.  | read-only: true 
                 - name: altText | type: string | description: Image alt text.  | validation: maxLength 200
                 - name: filename | type: string | description: Image filename.  | read-only: true | validation: maxLength 200
              - name: paymentOption | type: PaymentOption | description: Selected payment option for the item.  
                 - name: value | type: PaymentOptionType | description: Selected payment option type for this item.  Default: `FULL_PAYMENT_ONLINE`  
                         - enum:
                         -     FULL_PAYMENT_ONLINE: The entire payment for this item happens as part of the checkout.
                         -     FULL_PAYMENT_OFFLINE: The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods.
                         -     MEMBERSHIP: Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online.
                         -     DEPOSIT_ONLINE: Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`.
                         -     MEMBERSHIP_OFFLINE: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.
                         -     MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER: Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.
              - name: depositAmount | type: string | description: Partial payment due upfront during checkout. Only when `paymentOption.value` is `DEPOSIT_ONLINE`.  | validation: format DECIMAL_VALUE, decimalValue {"gt":"0","lte":"999999999","maxScale":3}
              - name: savePaymentMethod | type: boolean | description: Whether to save the payment method on the order.  Default: `false`  
              - name: inventoryAppId | type: string | description: GUID of the app managing inventory.  | validation: format GUID
           - name: rootCatalogItemId | type: string | description: When `catalogReference.catalogItemId` isn't the actual catalog item GUID, this field returns the true catalog item GUID. For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking GUID, so this value is the service GUID. In most cases, this matches `catalogReference.catalogItemId`. Used in membership validation.  | validation: minLength 1, maxLength 36
           - name: inventoryAppId | type: string | description: GUID of the app managing the inventory.  | validation: format GUID
        - name: attributes | type: ItemAttributes | description: Display details for the item.  
           - name: descriptionLines | type: array<DescriptionLine> | description: Description lines for the item.  | validation: maxItems 100
           - name: image | type: Image | description: Item image.  
           - name: url | type: PageUrlV2 | description: URL of the item's page on the site.  
              - name: relativePath | type: string | description: The relative path for the page within the site. For example, `/product-page/a-product`.  
              - name: url | type: string | description: The page's full URL. For example, `https://mysite.com/product-page/a-product`.  | validation: format WEB_URL
           - name: policies | type: array<Policy> | description: Policies shown to the buyer on the checkout page.  | validation: maxItems 5
              - name: title | type: string | description: Policy title - should be translated  | validation: minLength 1, maxLength 29
              - name: content | type: string | description: Policy content - should be translated  | validation: minLength 1, maxLength 3000
           - name: itemType | type: ItemType | description: Item type: preset or custom.  
              - ONE-OF: 
                 - name: preset | type: ItemTypePreset | description: Preset item type.  
                         - enum: UNRECOGNISED, PHYSICAL, DIGITAL, GIFT_CARD, SERVICE
                 - name: custom | type: string | description: Custom item type. When none of the preset types are suitable, specifies the custom type.  
           - 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: subscriptionSettings | type: SubscriptionSettings | description: Subscription option settings.  
                 - name: frequency | type: SubscriptionFrequency | description: Frequency of recurring payment.  
                         - enum: UNDEFINED, DAY, WEEK, MONTH, YEAR
                 - name: interval | type: integer | description: Interval of recurring payment.  Default: `1`. If SubscriptionFrequency is Day the minimum interval is 7  | validation: minimum 1, maximum 3650, format int32
                 - name: autoRenewal | type: boolean | description: Whether subscription is renewed automatically at the end of each period.  
                 - name: billingCycles | type: integer | description: Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.  | validation: minimum 1, format int32
                 - name: enableCustomerCancellation | type: boolean | description: Whether to allow the customer to cancel the subscription..  
                 - name: freeTrialPeriod | type: FreeTrialPeriod | description: Period until first cycle starts. If applied payNow will be 0 If None => no free trial  
                    - name: frequency | type: SubscriptionFrequency | description: Frequency of period. Values: DAY, WEEK, MONTH, YEAR  
                    - name: interval | type: integer | description: Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.  | validation: minimum 1, maximum 999
              - name: title | type: Title | description: Subscription option title.  
                 - name: original | type: string | description: Subscription option name 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).  | validation: minLength 1, maxLength 150
                 - name: translated | type: string | description: Subscription option name translated into the buyer's language.  Default: Same as `original`.  | validation: minLength 1, maxLength 150
              - name: description | type: Description | description: Subscription option description.  
                 - name: original | type: string | description: Subscription option description.  | validation: maxLength 500
                 - name: translated | type: string | description: Translated subscription option description.  | validation: maxLength 500
           - name: serviceProperties | type: ServiceProperties | description: Service properties. When relevant, includes date and number of participants.  
              - name: scheduledDate | type: string | description: Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. For example, the start time of a class.  | validation: format date-time
              - name: numberOfParticipants | type: integer | description: The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.  | validation: minimum 1, maximum 10000, format int32
           - 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 GUID.  | validation: format GUID
           - name: fulfillerId | type: string | description: Optional custom fulfiller GUID.  | validation: format GUID
        - name: taxConfig | type: ItemTaxConfig | description: Tax configuration for the line item.  
           - name: taxableAddress | type: TaxableAddress | description: Address used for tax calculation.  
              - ONE-OF: 
                 - name: addressType | type: TaxableAddressType | description: taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.  
                         - enum: BUSINESS, BILLING, SHIPPING
           - name: taxGroupId | type: string | description: Tax group GUID for this line item.  | validation: maxLength 50
        - 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.  | validation: minLength 1, maxLength 2500
           - name: depositAmount | type: ConvertedMoney | description: Partial payment due upfront during checkout. Only when `paymentOption` is `DEPOSIT_ONLINE`.  
           - name: paymentOption | type: PaymentOptionType | description: Selected payment option type for this item.  Default: `FULL_PAYMENT_ONLINE`  
        - name: status | type: ItemStatus | description: Inventory availability status for the line item.  
             - enum:
             -     IN_STOCK: Item is available in the requested quantity.
             -     PARTIALLY_IN_STOCK: Only part of the requested quantity is available.
             -     OUT_OF_STOCK: Item is out of stock.
             -     REMOVED_FROM_CATALOG: Item no longer exists in the 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).  | validation: format map
        - name: modifierGroups | type: array<ModifierGroup> | description: Modifier groups added to the item.  | validation: maxItems 25
           - name: id | type: string | description: Modifier group GUID.  | read-only: true | validation: minLength 1, maxLength 36
           - name: name | type: TranslatableString | description: Modifier group name.  
           - name: modifiers | type: array<ItemModifier> | description: Modifiers in this group.  | validation: minItems 1, maxItems 25
              - name: id | type: string | description: Modifier GUID.  | read-only: true | validation: minLength 1, maxLength 36
              - name: quantity | type: integer | description: Modifier quantity.  | validation: minimum 1, maximum 100000, format int32
              - name: label | type: TranslatableString | description: Primary label for the modifier.  
              - name: details | type: TranslatableString | description: Extra modifier copy.  
              - name: price | type: ConvertedMoney | description: Modifier price.  
        - name: discounts | type: array<ItemDiscount> | description: Discounts applied to this line item.  | validation: maxItems 100
           - 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: sourceType | type: DiscountSourceType | description: Discount source type.  
                     - enum:
                     -     AUTOMATIC_RULE: Discount applied automatically by a rule.
                     -     COUPON: Discount applied by a coupon code.
              - name: couponCode | type: string | description: Coupon code that triggered the discount. Only relevant for coupon discounts.  | validation: maxLength 50
        - 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.  | read-only: true 
     - 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.  | validation: maxLength 1000
     - name: coupons | type: array<Coupon> | description: List of coupons added to the Cart. Currently only one coupon code is supported.  | read-only: true | validation: maxItems 1
        - name: id | type: string | description: Coupon GUID in the cart.  | validation: format GUID
        - name: code | type: string | description: Coupon code entered at checkout.  | validation: minLength 1, maxLength 50
     - 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: ChannelType | description: Sales channel that created the cart.  
             - enum:
             -     UNSPECIFIED: Unspecified sales channel. This value is not supported.
             -     WEB: A web client.
             -     POS: [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395).
             -     EBAY: [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop).
             -     AMAZON: [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop).
             -     OTHER_PLATFORM: Other sales platform.
             -     WIX_APP_STORE: [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview).
             -     WIX_INVOICES: Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings)
             -     BACKOFFICE_MERCHANT: Wix merchant backoffice.
             -     WISH: Wish sales channel.
             -     CLASS_PASS: [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass).
             -     GLOBAL_E: Global-E sales channel.
             -     FACEBOOK: [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops).
             -     ETSY: [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel).
             -     TIKTOK: [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel).
             -     FAIRE_COM: [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app).
             -     PAYPAL_AGENTIC_CHECKOUT: PayPal Agentic Checkout sales channel.
             -     STRIPE_AGENTIC_CHECKOUT: Stripe Agentic Checkout sales channel.
        - name: externalReferences | type: array<ExternalReference> | description: External app and resource references for this cart, used for integration and tracking across platforms.  | read-only: true | validation: maxItems 10, immutable
           - name: appId | type: string | description: GUID of the app associated with the purchase flow. For example, the Wix Pay Links app GUID.  | validation: format GUID, immutable
           - name: resourceId | type: string | description: Reference to an external resource GUID. Used to link the purchase flow to a specific entity in an external system. For example, a Wix Pay Link GUID.  | validation: minLength 1, maxLength 100, immutable
        - name: createdBy | type: CreatedBy | description: Entity that created the cart.  | read-only: true 
           - ONE-OF: 
              - name: visitorId | type: string | description: Site visitor GUID when the visitor isn't a site member.  | read-only: true | validation: format GUID
              - name: memberId | type: string | description: Site member GUID.  | read-only: true | validation: format GUID
              - name: userId | type: string | description: Wix user GUID when the cart was created by a Wix user on behalf of a buyer (for example, POS).  | validation: format GUID
              - name: appId | type: string | description: App GUID when the cart was created by an external app or Wix service.  | validation: format GUID
        - name: customContentReference | type: CustomContentReference | description: App and component GUIDs for the custom checkout page content provider.  
           - name: appId | type: string | description: App GUID for the checkout content provider. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).  | validation: format GUID
           - name: componentId | type: string | description: Component GUID within that app. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).  | validation: format GUID
     - 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 GUID for the cart. See the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction.md).  | validation: format GUID
        - name: languageCode | type: string | description: 2-letter language code in ISO 639-1 alpha-2 format. The business's default language.  | read-only: true | validation: format 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).  | read-only: true | validation: format CURRENCY
     - name: customerInfo | type: CustomerInfo | description: Information about the customer that owns the Cart.  
        - ONE-OF: 
           - name: visitorId | type: string | description: Site visitor GUID when the visitor isn't a site member.  | read-only: true | validation: format GUID
           - name: memberId | type: string | description: Site member GUID.  | read-only: true | validation: format GUID
           - name: userId | type: string | description: Wix user GUID when the cart was created by a Wix user on behalf of a customer (for example, POS).  | read-only: true | validation: format GUID
           - name: openAccess | type: boolean | description: Whether the cart has no owner yet and anyone can access it; the first visitor to access it becomes the owner.  | read-only: true 
        - name: firstName | type: string | description: Customer's first name.  | validation: maxLength 100
        - name: lastName | type: string | description: Customer's last name.  | validation: maxLength 100
        - name: phone | type: string | description: Customer's phone number.  | validation: format PHONE
        - name: company | type: string | description: Company name.  | validation: maxLength 1000
        - name: vatId | type: VatId | description: Business VAT registration number.  
           - name: id | type: string | description: Customer's tax GUID.  
           - name: type | type: VatType | description: Tax type.  Supported values: + `CPF`: for individual tax payers + `CNPJ`: for corporations  
                 - enum:
                 -     UNSPECIFIED: 
                 -     CPF: CPF - for individual tax payers.
                 -     CNPJ: CNPJ - for corporations
        - name: email | type: string | description: Customer's email address.  | validation: format EMAIL
        - name: contactId | type: string | description: Customer's contact GUID. Created automatically if one doesn't exist yet. See the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction).  | read-only: true | validation: format GUID
        - 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).  | read-only: true | validation: format LANGUAGE
        - 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.  | read-only: true | validation: format CURRENCY
     - 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.  | validation: format COUNTRY
           - 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.  | validation: maxLength 50
           - name: city | type: string | description: City name.  | validation: maxLength 50
           - name: postalCode | type: string | description: Postal or zip code.  | validation: maxLength 50
           - name: streetAddress | type: StreetAddress | description: Street address.  
              - name: number | type: string | description: Street number.  
              - name: name | type: string | description: Street name.  
           - name: addressLine | type: string | description: Main address line (usually street name and number).  | validation: maxLength 150
           - name: addressLine2 | type: string | description: Free text providing more detailed address info. Usually contains apt, suite, floor.  | validation: maxLength 100
           - name: geocode | type: AddressLocation | description: Geocode object containing latitude and longitude coordinates.  
              - name: latitude | type: number | description: Address latitude.  | validation: format double
              - name: longitude | type: number | description: Address longitude.  | validation: format double
           - name: countryFullname | type: string | description: Country's full name.  | read-only: true 
           - name: subdivisionFullname | type: string | description: Subdivision full-name.  | read-only: true 
        - name: method | type: DeliveryMethod | description: Delivery method selected by the customer.  | read-only: true 
           - name: code | type: string | description: Shipping rate code. Example: `"usps_std_overnight"`.  | validation: maxLength 100
           - name: appId | type: string | description: Carrier app GUID.  | validation: format GUID
           - 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: WeightUnit | description: Weight unit used when shipping items (for example, kg or lb).  | read-only: true 
             - enum:
             -     UNSPECIFIED_WEIGHT_UNIT: Weight unit can't be classified due to an error.
             -     KG: Kilograms.
             -     LB: Pounds.
     - 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).  | read-only: true 
        - name: taxExemptGroupId | type: string | description: Tax-exempt group GUID applied for tax exemptions.  | validation: format GUID
     - 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.  | read-only: true | validation: maxItems 1
           - name: id | type: string | description: Unique identifier of the gift card within the cart.  | validation: format GUID
           - name: obfuscatedCode | type: string | description: Partially masked gift card code.  | validation: maxLength 50
           - name: appId | type: string | description: App GUID of the gift card provider.  | validation: format GUID
           - name: externalId | type: string | description: External GUID in the gift card provider's system, used for integration and tracking across platforms.  | validation: minLength 1, maxLength 50
           - 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`.  | read-only: true | validation: format CURRENCY
        - name: billingAddress | type: Address | description: Billing address.  
        - name: billingContact | type: FullAddressContactDetails | description: Billing contact details.  
           - name: firstName | type: string | description: First name.  | validation: maxLength 100
           - name: lastName | type: string | description: Last name.  | validation: maxLength 100
           - name: phone | type: string | description: Phone number.  | validation: format PHONE
           - name: company | type: string | description: Company name.  | validation: maxLength 1000
           - name: vatId | type: VatId | description: Tax information (for Brazil only). If GUID 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`.  | read-only: true 
     - name: orderId | type: string | description: Order GUID. Empty until the checkout process is completed.  | read-only: true | validation: format GUID
     - name: purchaseFlowId | type: string | description: Persistent GUID that correlates the Cart with the created Order after checkout is completed.  | read-only: true | validation: format GUID
     - name: settings | type: CartSettings | description: Additional cart settings.  Settings can only be configured at cart creation time and can't be changed afterwards.  | read-only: true | validation: immutable
        - name: lockGiftCard | type: boolean | description: Whether adding or removing a gift card on checkout is restricted.  
        - name: lockCouponCode | type: boolean | description: Whether adding or removing a coupon code on checkout is restricted.  
        - name: policyAgreementCheckboxDisabled | type: boolean | description: Whether the policy agreement checkbox on checkout is disabled.  
        - name: manualPaymentDisabled | type: boolean | description: Whether the manual payment option is disabled for this checkout.  
     - 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 GUID.  | validation: maxLength 2048
     - 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 GUID.  | read-only: true 
     - 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`  


```

### Examples

### Mark Cart As Completed
Marks the cart as completed after an order was created externally.

```curl
curl -X POST \
'https://www.wixapis.com/ecom/v2/carts/ca727402-f531-4bcf-ab09-db70ea0bd008/mark-cart-as-completed' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json' \
-d '{
  "orderId": "d5a2eb42-6c9a-4f8e-b7a3-9e21d8c04f56"
}'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.ecom.cartV2.markCartAsCompleted(cartId, options)
 Description: Marks the cart as completed after an order is created from it.  Sets `orderPlaced` to `true`.
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  cartId
 Method parameters: 
   param name: cartId | type: string | description: Cart GUID. | required: true | validation: format GUID
   param name: options | type: MarkCartAsCompletedOptions  none  
        - name: orderId | type: string | description: Order GUID created from the cart.  | validation: format GUID
 Return type: PROMISE<MarkCartAsCompletedResponse>
  - name: cart | type: Cart | description: Updated cart.  
     - name: _id | type: string | description: Cart GUID.  | read-only: true | validation: format GUID
     - name: _createdDate | type: Date | description: Date and time the Cart was created.  | read-only: true 
     - name: _updatedDate | type: Date | description: Date and time the Cart was last updated.  | read-only: true 
     - name: revision | type: string | description: Revision number, which increments by 1 each time the Cart is updated.  | read-only: true 
     - 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.  | read-only: true | validation: maxItems 300
        - name: _id | type: string | description: Unique identifier for the line item within the cart.  | validation: format GUID
        - 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.  | validation: minLength 1, maxLength 200
           - name: translated | type: string | description: String translated into the buyer's language.  Min: 1 character. Max: 400 characters. Default: Same as `original`.  | validation: minLength 1, maxLength 400
        - name: quantityInfo | type: ItemQuantityInfo | description: Quantity details for the line item.  
           - name: confirmedQuantity | type: integer | description: Confirmed quantity to purchase. The minimum of `requestedQuantity` and `availableQuantity`.  | validation: minimum 1, maximum 100000
           - name: requestedQuantity | type: integer | description: Quantity the customer originally requested.  | validation: minimum 1, maximum 100000
           - name: availableQuantity | type: integer | description: Maximum quantity available for purchase.  | validation: format int32
           - 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: amount | type: string | description: Monetary amount in the original currency, as specified in `businessInfo.currencyCode`.  | validation: format DECIMAL_VALUE, decimalValue {"gte":"0","lte":"999999999","maxScale":3}
              - name: convertedAmount | type: string | description: Monetary amount in the converted currency, as specified in `customerInfo.currencyCode`.  Default: `amount`.  | read-only: true | validation: format DECIMAL_VALUE, decimalValue {"gte":"0","lte":"999999999","maxScale":3}
           - 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: original | type: string | description: __Required.__ Price description 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).  | validation: minLength 1, maxLength 100
              - name: translated | type: string | description: Price description translated into the buyer's language.  Default: Same as `original`.  | validation: minLength 1, maxLength 100
           - 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: fullPrice | type: ConvertedMoney | description: Full catalog price for a single item before discounts, including modifiers. Includes tax when `taxInfo.pricesIncludeTax` is true.  
              - name: salePrice | type: ConvertedMoney | description: Catalog sale price for a single item, including modifiers. Includes tax when `taxInfo.pricesIncludeTax` is true.  
              - name: totalModifiersPrice | type: ConvertedMoney | description: Total price of all modifiers for a single item. Includes tax when `taxInfo.pricesIncludeTax` is true.  
        - name: source | type: ItemSource | description: Information about the line item's origin.  
           - name: catalogReference | type: CatalogReference | description: Catalog and item reference: GUIDs for the item and catalog, plus optional details. Optional for custom line items, which don't trigger the Catalog service plugin.  
              - name: catalogItemId | type: string | description: GUID of the item within the catalog it belongs to.  | validation: minLength 1, maxLength 36
              - name: appId | type: string | description: GUID of the app providing the catalog.  You can get your app's GUID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).  For items from Wix catalogs, the following values always apply: + Wix Stores: `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` + Wix Bookings: `"13d21c63-b5ec-5912-8397-c3a5ddb27a97"` + Wix Restaurants: `"9a5d83fd-8570-482e-81ab-cfa88942ee60"`  | validation: minLength 1
              - name: options | type: object | description: Additional item details in `key:value` pairs.  Use this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.  For Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration.md) or [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration.md), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction.md).  
           - name: catalogOverrideFields | type: CatalogOverrideFields | description: Overriding values for catalog item properties.  
              - name: name | type: TranslatableString | description: Display name for the line item.  
              - name: salePrice | type: string | description: Sale price for a single item after modifiers, before discounts.  | validation: decimalValue {"gte":"0","lte":"999999999","maxScale":3}
              - name: fullPrice | type: string | description: Full price for a single item after modifiers, before discounts.  | validation: decimalValue {"gte":"0","lte":"999999999","maxScale":3}
              - name: descriptionLines | type: array<DescriptionLine> | description: Description lines for the item. Shown when displaying the line item to buyers.  | validation: minItems 0, maxItems 20
                 - ONE-OF: 
                    - name: plainText | type: PlainTextValue | description: Description line plain text value.  
                       - name: original | type: string | description: Description line plain text value 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).  | validation: maxLength 600
                       - name: translated | type: string | description: Description line plain text value translated into the buyer's language.  Default: Same as `original`.  | validation: maxLength 600
                    - name: colorInfo | type: Color | description: Description line color value.  
                       - name: original | type: string | description: Description line color name 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).  | validation: maxLength 500
                       - name: translated | type: string | description: Description line color name translated into the buyer's language.  Default: Same as `original`.  | validation: maxLength 500
                       - name: code | type: string | description: HEX or RGB color code for display.  
                 - name: name | type: DescriptionLineName | description: Description line name.  
                    - name: original | type: string | description: Description line name 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).  | validation: maxLength 100
                    - name: translated | type: string | description: Description line name translated into the buyer's language.  Default: Same as `original`.  | validation: maxLength 200
              - name: physicalProperties | type: PhysicalProperties | description: Physical properties of the item.  
                 - name: weight | type: number | description: Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.  
                 - name: sku | type: string | description: Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).  | validation: maxLength 40
                 - name: shippable | type: boolean | description: Whether this line item is shippable.  
              - name: image | type: string | description: Item image.  
              - name: paymentOption | type: PaymentOption | description: Selected payment option for the item.  
                 - name: value | type: PaymentOptionType | description: Selected payment option type for this item.  Default: `FULL_PAYMENT_ONLINE`  
                         - enum:
                         -     FULL_PAYMENT_ONLINE: The entire payment for this item happens as part of the checkout.
                         -     FULL_PAYMENT_OFFLINE: The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods.
                         -     MEMBERSHIP: Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online.
                         -     DEPOSIT_ONLINE: Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`.
                         -     MEMBERSHIP_OFFLINE: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.
                         -     MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER: Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.
              - name: depositAmount | type: string | description: Partial payment due upfront during checkout. Only when `paymentOption.value` is `DEPOSIT_ONLINE`.  | validation: format DECIMAL_VALUE, decimalValue {"gt":"0","lte":"999999999","maxScale":3}
              - name: savePaymentMethod | type: boolean | description: Whether to save the payment method on the order.  Default: `false`  
              - name: inventoryAppId | type: string | description: GUID of the app managing inventory.  | validation: format GUID
           - name: rootCatalogItemId | type: string | description: When `catalogReference.catalogItemId` isn't the actual catalog item GUID, this field returns the true catalog item GUID. For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking GUID, so this value is the service GUID. In most cases, this matches `catalogReference.catalogItemId`. Used in membership validation.  | validation: minLength 1, maxLength 36
           - name: inventoryAppId | type: string | description: GUID of the app managing the inventory.  | validation: format GUID
        - name: attributes | type: ItemAttributes | description: Display details for the item.  
           - name: descriptionLines | type: array<DescriptionLine> | description: Description lines for the item.  | validation: maxItems 100
           - name: image | type: string | description: Item image.  
           - name: url | type: string | 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.  | validation: maxItems 5
              - name: title | type: string | description: Policy title - should be translated  | validation: minLength 1, maxLength 29
              - name: content | type: string | description: Policy content - should be translated  | validation: minLength 1, maxLength 3000
           - name: itemType | type: ItemType | description: Item type: preset or custom.  
              - ONE-OF: 
                 - name: preset | type: ItemTypePreset | description: Preset item type.  
                         - enum: UNRECOGNISED, PHYSICAL, DIGITAL, GIFT_CARD, SERVICE
                 - name: custom | type: string | description: Custom item type. When none of the preset types are suitable, specifies the custom type.  
           - 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: subscriptionSettings | type: SubscriptionSettings | description: Subscription option settings.  
                 - name: frequency | type: SubscriptionFrequency | description: Frequency of recurring payment.  
                         - enum: UNDEFINED, DAY, WEEK, MONTH, YEAR
                 - name: interval | type: integer | description: Interval of recurring payment.  Default: `1`. If SubscriptionFrequency is Day the minimum interval is 7  | validation: minimum 1, maximum 3650, format int32
                 - name: autoRenewal | type: boolean | description: Whether subscription is renewed automatically at the end of each period.  
                 - name: billingCycles | type: integer | description: Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.  | validation: minimum 1, format int32
                 - name: enableCustomerCancellation | type: boolean | description: Whether to allow the customer to cancel the subscription..  
                 - name: freeTrialPeriod | type: FreeTrialPeriod | description: Period until first cycle starts. If applied payNow will be 0 If None => no free trial  
                    - name: frequency | type: SubscriptionFrequency | description: Frequency of period. Values: DAY, WEEK, MONTH, YEAR  
                    - name: interval | type: integer | description: Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.  | validation: minimum 1, maximum 999
              - name: title | type: Title | description: Subscription option title.  
                 - name: original | type: string | description: Subscription option name 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).  | validation: minLength 1, maxLength 150
                 - name: translated | type: string | description: Subscription option name translated into the buyer's language.  Default: Same as `original`.  | validation: minLength 1, maxLength 150
              - name: description | type: Description | description: Subscription option description.  
                 - name: original | type: string | description: Subscription option description.  | validation: maxLength 500
                 - name: translated | type: string | description: Translated subscription option description.  | validation: maxLength 500
           - name: serviceProperties | type: ServiceProperties | description: Service properties. When relevant, includes date and number of participants.  
              - name: scheduledDate | type: Date | description: Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. For example, the start time of a class.  
              - name: numberOfParticipants | type: integer | description: The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.  | validation: minimum 1, maximum 10000, format int32
           - 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 GUID.  | validation: format GUID
           - name: fulfillerId | type: string | description: Optional custom fulfiller GUID.  | validation: format GUID
        - name: taxConfig | type: ItemTaxConfig | description: Tax configuration for the line item.  
           - name: taxableAddress | type: TaxableAddress | description: Address used for tax calculation.  
              - ONE-OF: 
                 - name: addressType | type: TaxableAddressType | description: taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.  
                         - enum: BUSINESS, BILLING, SHIPPING
           - name: taxGroupId | type: string | description: Tax group GUID for this line item.  | validation: maxLength 50
        - 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.  | validation: minLength 1, maxLength 2500
           - name: depositAmount | type: ConvertedMoney | description: Partial payment due upfront during checkout. Only when `paymentOption` is `DEPOSIT_ONLINE`.  
           - name: paymentOption | type: PaymentOptionType | description: Selected payment option type for this item.  Default: `FULL_PAYMENT_ONLINE`  
        - name: status | type: ItemStatus | description: Inventory availability status for the line item.  
             - enum:
             -     IN_STOCK: Item is available in the requested quantity.
             -     PARTIALLY_IN_STOCK: Only part of the requested quantity is available.
             -     OUT_OF_STOCK: Item is out of stock.
             -     REMOVED_FROM_CATALOG: Item no longer exists in the 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).  | validation: format map
        - name: modifierGroups | type: array<ModifierGroup> | description: Modifier groups added to the item.  | validation: maxItems 25
           - name: _id | type: string | description: Modifier group GUID.  | read-only: true | validation: minLength 1, maxLength 36
           - name: name | type: TranslatableString | description: Modifier group name.  
           - name: modifiers | type: array<ItemModifier> | description: Modifiers in this group.  | validation: minItems 1, maxItems 25
              - name: _id | type: string | description: Modifier GUID.  | read-only: true | validation: minLength 1, maxLength 36
              - name: quantity | type: integer | description: Modifier quantity.  | validation: minimum 1, maximum 100000, format int32
              - name: label | type: TranslatableString | description: Primary label for the modifier.  
              - name: details | type: TranslatableString | description: Extra modifier copy.  
              - name: price | type: ConvertedMoney | description: Modifier price.  
        - name: discounts | type: array<ItemDiscount> | description: Discounts applied to this line item.  | validation: maxItems 100
           - 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: sourceType | type: DiscountSourceType | description: Discount source type.  
                     - enum:
                     -     AUTOMATIC_RULE: Discount applied automatically by a rule.
                     -     COUPON: Discount applied by a coupon code.
              - name: couponCode | type: string | description: Coupon code that triggered the discount. Only relevant for coupon discounts.  | validation: maxLength 50
        - 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.  | read-only: true 
     - 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.  | validation: maxLength 1000
     - name: coupons | type: array<Coupon> | description: List of coupons added to the Cart. Currently only one coupon code is supported.  | read-only: true | validation: maxItems 1
        - name: _id | type: string | description: Coupon GUID in the cart.  | validation: format GUID
        - name: code | type: string | description: Coupon code entered at checkout.  | validation: minLength 1, maxLength 50
     - 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: ChannelType | description: Sales channel that created the cart.  
             - enum:
             -     UNSPECIFIED: Unspecified sales channel. This value is not supported.
             -     WEB: A web client.
             -     POS: [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395).
             -     EBAY: [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop).
             -     AMAZON: [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop).
             -     OTHER_PLATFORM: Other sales platform.
             -     WIX_APP_STORE: [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview).
             -     WIX_INVOICES: Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings)
             -     BACKOFFICE_MERCHANT: Wix merchant backoffice.
             -     WISH: Wish sales channel.
             -     CLASS_PASS: [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass).
             -     GLOBAL_E: Global-E sales channel.
             -     FACEBOOK: [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops).
             -     ETSY: [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel).
             -     TIKTOK: [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel).
             -     FAIRE_COM: [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app).
             -     PAYPAL_AGENTIC_CHECKOUT: PayPal Agentic Checkout sales channel.
             -     STRIPE_AGENTIC_CHECKOUT: Stripe Agentic Checkout sales channel.
        - name: externalReferences | type: array<ExternalReference> | description: External app and resource references for this cart, used for integration and tracking across platforms.  | read-only: true | validation: maxItems 10, immutable
           - name: appId | type: string | description: GUID of the app associated with the purchase flow. For example, the Wix Pay Links app GUID.  | validation: format GUID, immutable
           - name: resourceId | type: string | description: Reference to an external resource GUID. Used to link the purchase flow to a specific entity in an external system. For example, a Wix Pay Link GUID.  | validation: minLength 1, maxLength 100, immutable
        - name: createdBy | type: CreatedBy | description: Entity that created the cart.  | read-only: true 
           - ONE-OF: 
              - name: visitorId | type: string | description: Site visitor GUID when the visitor isn't a site member.  | read-only: true | validation: format GUID
              - name: memberId | type: string | description: Site member GUID.  | read-only: true | validation: format GUID
              - name: userId | type: string | description: Wix user GUID when the cart was created by a Wix user on behalf of a buyer (for example, POS).  | validation: format GUID
              - name: appId | type: string | description: App GUID when the cart was created by an external app or Wix service.  | validation: format GUID
        - name: customContentReference | type: CustomContentReference | description: App and component GUIDs for the custom checkout page content provider.  
           - name: appId | type: string | description: App GUID for the checkout content provider. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).  | validation: format GUID
           - name: componentId | type: string | description: Component GUID within that app. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).  | validation: format GUID
     - 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 GUID for the cart. See the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction.md).  | validation: format GUID
        - name: languageCode | type: string | description: 2-letter language code in ISO 639-1 alpha-2 format. The business's default language.  | read-only: true | validation: format 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).  | read-only: true | validation: format CURRENCY
     - name: customerInfo | type: CustomerInfo | description: Information about the customer that owns the Cart.  
        - ONE-OF: 
           - name: visitorId | type: string | description: Site visitor GUID when the visitor isn't a site member.  | read-only: true | validation: format GUID
           - name: memberId | type: string | description: Site member GUID.  | read-only: true | validation: format GUID
           - name: userId | type: string | description: Wix user GUID when the cart was created by a Wix user on behalf of a customer (for example, POS).  | read-only: true | validation: format GUID
           - name: openAccess | type: boolean | description: Whether the cart has no owner yet and anyone can access it; the first visitor to access it becomes the owner.  | read-only: true 
        - name: firstName | type: string | description: Customer's first name.  | validation: maxLength 100
        - name: lastName | type: string | description: Customer's last name.  | validation: maxLength 100
        - name: phone | type: string | description: Customer's phone number.  | validation: format PHONE
        - name: company | type: string | description: Company name.  | validation: maxLength 1000
        - name: vatId | type: VatId | description: Business VAT registration number.  
           - name: _id | type: string | description: Customer's tax GUID.  
           - name: type | type: VatType | description: Tax type.  Supported values: + `CPF`: for individual tax payers + `CNPJ`: for corporations  
                 - enum:
                 -     UNSPECIFIED: 
                 -     CPF: CPF - for individual tax payers.
                 -     CNPJ: CNPJ - for corporations
        - name: email | type: string | description: Customer's email address.  | validation: format EMAIL
        - name: contactId | type: string | description: Customer's contact GUID. Created automatically if one doesn't exist yet. See the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction).  | read-only: true | validation: format GUID
        - 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).  | read-only: true | validation: format LANGUAGE
        - 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.  | read-only: true | validation: format CURRENCY
     - name: deliveryInfo | type: DeliveryInfo | description: Delivery-related information associated with the Cart.  
        - name: address | type: Address | description: Delivery address.  
           - name: streetAddress | type: StreetAddress | description: none  
              - name: name | type: string | description: none  
              - name: number | type: string | description: none  
           - name: city | type: string | description: none  
           - name: subdivision | type: string | description: none  
           - name: country | type: string | description: none  
           - name: postalCode | type: string | description: none  
           - name: addressLine2 | type: string | description: none  
        - name: method | type: DeliveryMethod | description: Delivery method selected by the customer.  | read-only: true 
           - name: code | type: string | description: Shipping rate code. Example: `"usps_std_overnight"`.  | validation: maxLength 100
           - name: appId | type: string | description: Carrier app GUID.  | validation: format GUID
           - 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: WeightUnit | description: Weight unit used when shipping items (for example, kg or lb).  | read-only: true 
             - enum:
             -     UNSPECIFIED_WEIGHT_UNIT: Weight unit can't be classified due to an error.
             -     KG: Kilograms.
             -     LB: Pounds.
     - 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).  | read-only: true 
        - name: taxExemptGroupId | type: string | description: Tax-exempt group GUID applied for tax exemptions.  | validation: format GUID
     - 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.  | read-only: true | validation: maxItems 1
           - name: _id | type: string | description: Unique identifier of the gift card within the cart.  | validation: format GUID
           - name: obfuscatedCode | type: string | description: Partially masked gift card code.  | validation: maxLength 50
           - name: appId | type: string | description: App GUID of the gift card provider.  | validation: format GUID
           - name: externalId | type: string | description: External GUID in the gift card provider's system, used for integration and tracking across platforms.  | validation: minLength 1, maxLength 50
           - 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`.  | read-only: true | validation: format CURRENCY
        - name: billingAddress | type: Address | description: Billing address.  
        - name: billingContact | type: FullAddressContactDetails | description: Billing contact details.  
           - name: firstName | type: string | description: First name.  | validation: maxLength 100
           - name: lastName | type: string | description: Last name.  | validation: maxLength 100
           - name: phone | type: string | description: Phone number.  | validation: format PHONE
           - name: company | type: string | description: Company name.  | validation: maxLength 1000
           - name: vatId | type: VatId | description: Tax information (for Brazil only). If GUID 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`.  | read-only: true 
     - name: orderId | type: string | description: Order GUID. Empty until the checkout process is completed.  | read-only: true | validation: format GUID
     - name: purchaseFlowId | type: string | description: Persistent GUID that correlates the Cart with the created Order after checkout is completed.  | read-only: true | validation: format GUID
     - name: settings | type: CartSettings | description: Additional cart settings.  Settings can only be configured at cart creation time and can't be changed afterwards.  | read-only: true | validation: immutable
        - name: lockGiftCard | type: boolean | description: Whether adding or removing a gift card on checkout is restricted.  
        - name: lockCouponCode | type: boolean | description: Whether adding or removing a coupon code on checkout is restricted.  
        - name: policyAgreementCheckboxDisabled | type: boolean | description: Whether the policy agreement checkbox on checkout is disabled.  
        - name: manualPaymentDisabled | type: boolean | description: Whether the manual payment option is disabled for this checkout.  
     - 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 GUID.  | validation: maxLength 2048
     - 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 GUID.  | read-only: true 
     - 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`  


```

### Examples

### Mark a cart as completed
```javascript
import { cartV2 } from "@wix/ecom";

async function markCartAsCompleted() {
  const response = await cartV2.markCartAsCompleted(
    "ca727402-f531-4bcf-ab09-db70ea0bd008",
    { orderId: "d5a2eb42-6c9a-4f8e-b7a3-9e21d8c04f56" },
  );
}

/* Promise resolves to:
 * {
 *   "cart": {
 *     "_id": "ca727402-f531-4bcf-ab09-db70ea0bd008",
 *     "_createdDate": "2026-07-28T15:05:04.494Z",
 *     "_updatedDate": "2026-07-28T15:06:58.626Z",
 *     "revision": "2",
 *     "lineItems": [
 *       {
 *         "_id": "00000000-0000-0000-0000-000000000001",
 *         "name": {
 *           "original": "Custom Engraving Service",
 *           "translated": "Custom Engraving Service"
 *         },
 *         "quantityInfo": {
 *           "confirmedQuantity": 1,
 *           "requestedQuantity": 1,
 *           "fixedQuantity": false
 *         },
 *         "pricing": {
 *           "unitPrice": {
 *             "amount": "49.99",
 *             "convertedAmount": "49.99"
 *           },
 *           "totalPrice": {
 *             "amount": "49.99",
 *             "convertedAmount": "49.99"
 *           },
 *           "priceUndetermined": false
 *         },
 *         "attributes": {
 *           "itemType": {
 *             "preset": "SERVICE"
 *           },
 *           "membersOnly": false
 *         },
 *         "paymentConfig": {
 *           "savePaymentMethod": false,
 *           "paymentOption": "FULL_PAYMENT_ONLINE"
 *         },
 *         "status": "IN_STOCK",
 *         "customLineItem": true
 *       }
 *     ],
 *     "subtotal": {
 *       "amount": "49.99",
 *       "convertedAmount": "49.99"
 *     },
 *     "businessInfo": {
 *       "languageCode": "en",
 *       "currencyCode": "USD"
 *     },
 *     "customerInfo": {
 *       "openAccess": true,
 *       "firstName": "John",
 *       "lastName": "Doe",
 *       "email": "john.doe@example.com",
 *       "languageCode": "en",
 *       "currencyCode": "USD"
 *     },
 *     "deliveryInfo": {
 *       "weightUnit": "KG"
 *     },
 *     "taxInfo": {
 *       "pricesIncludeTax": false
 *     },
 *     "paymentInfo": {
 *       "currencyCode": "USD"
 *     },
 *     "orderPlaced": true,
 *     "purchaseFlowId": "0c8a24af-cbb0-4270-9f6e-3082084b12cb",
 *     "currentCart": false,
 *     "demo": false,
 *     "orderId": "d5a2eb42-6c9a-4f8e-b7a3-9e21d8c04f56"
 *   }
 * }
 */

```

### markCartAsCompleted (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { cartV2 } from '@wix/ecom';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { cartV2 },
  // Include the auth strategy and host as relevant
});


async function markCartAsCompleted(cartId,options) {
  const response = await myWixClient.cartV2.markCartAsCompleted(cartId,options);
};
```

---