# Carts A Cart is a representation of a shopping cart containing items that a customer intends to purchase. A maximum of **10000000** Carts can be added to a Project. After this limit is reached, the [automatic cleanup task](/api/general-concepts.md#automatic-cleanup) deletes Carts based on their retention period. This is a soft limit that can be increased per Project after a performance impact review. See [Limit increase guidance](/api/limit-increase-guidance.md#resource-count-limits). Learn more about how to utilize Carts in our self-paced Implement Carts module. For details about how Store configuration affects projected Product data and Line Items in Store-bound Carts, see [Locales](/api/projects/productProjections.md#locales), [Projection by Store](/api/projects/productProjections.md#projection-by-store), and [Inventory entries](/api/projects/productProjections.md#inventory-entries) in Product Projections. ### Anonymous Carts An anonymous Cart is persistent by default until it is merged with a customer's Cart. This merge happens automatically upon [customer sign-in](/api/customers-overview.md#customer-authentication-sign-in) or [sign-up](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcustomers%3APOST). To keep an anonymous Cart accessible, store the Cart `id` on the client side (for example, in the browser's local storage). Retrieve the Cart with [Get Cart by ID](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcarts%2F%7Bid%7D%3AGET). ### Customer Carts A customer's Cart is persistent by default with no time limit. You can retrieve it through the following methods: - [Authenticate Customer (sign-in)](/api/customers-overview.md#customer-authentication-sign-in) - [Create Customer (sign-up)](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcustomers%3APOST) - [Get Cart by Customer ID](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcarts%2Fcustomer-id%3D%7BcustomerId%7D%3AGET) ## Representations #### Cart [type definition](/api/projects/carts.md?urn=ctp:api:type:Cart). ##### CartLock [type definition](/api/projects/carts.md?urn=ctp:api:type:CartLock). ##### CartDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:CartDraft). ##### CartPagedQueryResponse [type definition](/api/projects/carts.md?urn=ctp:api:type:CartPagedQueryResponse). ##### CartReference [type definition](/api/projects/carts.md?urn=ctp:api:type:CartReference). ##### CartKeyReference [type definition](/api/projects/carts.md?urn=ctp:import:type:CartKeyReference). ##### CartResourceIdentifier [type definition](/api/projects/carts.md?urn=ctp:api:type:CartResourceIdentifier). ##### CartMergeMode [type definition](/api/projects/carts.md?urn=ctp:api:type:CartMergeMode). ##### FreezeStrategy [type definition](/api/projects/carts.md?urn=ctp:api:type:FreezeStrategy). ##### ReplicaCartDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:ReplicaCartDraft). ##### MergeCartDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:MergeCartDraft). ##### LineItemMode [type definition](/api/projects/carts.md?urn=ctp:api:type:LineItemMode). ##### LineItemPriceMode [type definition](/api/projects/carts.md?urn=ctp:api:type:LineItemPriceMode). ##### CustomLineItemPriceMode [type definition](/api/projects/carts.md?urn=ctp:api:type:CustomLineItemPriceMode). ##### RoundingMode [type definition](/api/projects/carts.md?urn=ctp:api:type:RoundingMode). The following example shows how decimal values are rounded: | Value to round | HalfUp | HalfDown | HalfEven | | :---: | :---: | :---: | :---: | | 23.5 | 24 | 23 | 24 | | 24.5 | 25 | 24 | 24 | | 25.5 | 26 | 25 | 26 | ##### TaxCalculationMode [type definition](/api/projects/carts.md?urn=ctp:api:type:TaxCalculationMode). The combination of `UnitPriceLevel` and `ExternalTotal` [LineItemPriceMode](/api/projects/carts.md#lineitempricemode) is not supported. Requests using this combination will be rejected with an [InvalidOperation](/urn?urn=ctp%3Aapi%3Atype%3AInvalidOperationError) error. ##### TaxMode [type definition](/api/projects/carts.md?urn=ctp:api:type:TaxMode). ##### InventoryMode [type definition](/api/projects/carts.md?urn=ctp:api:type:InventoryMode). ##### ShippingMode [type definition](/api/projects/carts.md?urn=ctp:api:type:ShippingMode). ##### CartState [type definition](/api/projects/carts.md?urn=ctp:api:type:CartState). ##### CartOrigin [type definition](/api/projects/carts.md?urn=ctp:api:type:CartOrigin). #### LineItem [type definition](/api/projects/carts.md?urn=ctp:api:type:LineItem). ##### LineItemDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:LineItemDraft). ##### LineItemRecurrenceInfo [type definition](/api/projects/carts.md?urn=ctp:api:type:LineItemRecurrenceInfo). ##### LineItemRecurrenceInfoDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:LineItemRecurrenceInfoDraft). #### CustomLineItem [type definition](/api/projects/carts.md?urn=ctp:api:type:CustomLineItem). ##### CustomLineItemDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:CustomLineItemDraft). ##### CustomLineItemRecurrenceInfo [type definition](/api/projects/carts.md?urn=ctp:api:type:CustomLineItemRecurrenceInfo). ##### CustomLineItemRecurrenceInfoDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:CustomLineItemRecurrenceInfoDraft). #### TaxedPrice [type definition](/api/projects/carts.md?urn=ctp:api:type:TaxedPrice). ##### TaxedItemPrice [type definition](/api/projects/carts.md?urn=ctp:api:type:TaxedItemPrice). ##### TaxPortion [type definition](/api/projects/carts.md?urn=ctp:api:type:TaxPortion). ##### TaxPortionDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:TaxPortionDraft). ##### ExternalTaxRateDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:ExternalTaxRateDraft). ##### ExternalTaxAmountDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:ExternalTaxAmountDraft). Changes on the [Cart](/api/projects/carts.md#cart) or [OrderEdit](/urn?urn=ctp%3Aapi%3Atype%3AOrderEdit) that have a financial impact invalidate the previously set total gross price. For example, when a [Cart Discount](/api/projects/cartDiscounts.md) reduces the Line Item price, the previously set total gross price becomes invalid and the recalculated total gross price must be set again with an ExternalTaxAmountDraft by another update action. ##### ExternalLineItemTotalPrice [type definition](/api/projects/carts.md?urn=ctp:api:type:ExternalLineItemTotalPrice). ##### MethodExternalTaxRateDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:MethodExternalTaxRateDraft). ##### MethodTaxRate [type definition](/api/projects/carts.md?urn=ctp:api:type:MethodTaxRate). ##### MethodTaxedPrice [type definition](/api/projects/carts.md?urn=ctp:api:type:MethodTaxedPrice). #### DiscountedLineItemPriceForQuantity [type definition](/api/projects/carts.md?urn=ctp:api:type:DiscountedLineItemPriceForQuantity). ##### DiscountedLineItemPrice [type definition](/api/projects/carts.md?urn=ctp:api:type:DiscountedLineItemPrice). ##### DiscountedLineItemPortion [type definition](/api/projects/carts.md?urn=ctp:api:type:DiscountedLineItemPortion). ##### DiscountedLineItemPortionDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:DiscountedLineItemPortionDraft). #### DiscountOnTotalPrice [type definition](/api/projects/carts.md?urn=ctp:api:type:DiscountOnTotalPrice). ##### DiscountedTotalPricePortion [type definition](/api/projects/carts.md?urn=ctp:api:type:DiscountedTotalPricePortion). #### DirectDiscount [type definition](/api/projects/carts.md?urn=ctp:api:type:DirectDiscount). ##### DirectDiscountDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:DirectDiscountDraft). ##### DirectDiscountReference [type definition](/api/projects/carts.md?urn=ctp:api:type:DirectDiscountReference). #### DiscountCodeInfo [type definition](/api/projects/carts.md?urn=ctp:api:type:DiscountCodeInfo). ##### DiscountCodeState [type definition](/api/projects/carts.md?urn=ctp:api:type:DiscountCodeState). #### ShippingInfo [type definition](/api/projects/carts.md?urn=ctp:api:type:ShippingInfo). ##### CustomShippingDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:CustomShippingDraft). #### Shipping [type definition](/api/projects/carts.md?urn=ctp:api:type:Shipping). ##### ShippingDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:ShippingDraft). #### ShippingMethodState [type definition](/api/projects/carts.md?urn=ctp:api:type:ShippingMethodState). #### ShippingRateInput Generic type for the input used to select a [ShippingRatePriceTier](/urn?urn=ctp%3Aapi%3Atype%3AShippingRatePriceTier). The specific data type depends on the `shippingRateInputType.type` configured in the [Project](/urn?urn=ctp%3Aapi%3Atype%3AProject): - If `CartClassification`, it is [ClassificationShippingRateInput](/urn?urn=ctp%3Aapi%3Atype%3AClassificationShippingRateInput). - If `CartScore`, it is [ScoreShippingRateInput](/urn?urn=ctp%3Aapi%3Atype%3AScoreShippingRateInput). - If `CartValue`, it cannot be used. ##### ClassificationShippingRateInput [type definition](/api/projects/carts.md?urn=ctp:api:type:ClassificationShippingRateInput). ##### ScoreShippingRateInput [type definition](/api/projects/carts.md?urn=ctp:api:type:ScoreShippingRateInput). ##### ShippingRateInputDraft Generic draft type for setting the input to select a [ShippingRatePriceTier](/urn?urn=ctp%3Aapi%3Atype%3AShippingRatePriceTier). The specific data type to use depends on the `shippingRateInputType.type` configured in the [Project](/urn?urn=ctp%3Aapi%3Atype%3AProject): - If `CartClassification`, it must be [ClassificationShippingRateInputDraft](/urn?urn=ctp%3Aapi%3Atype%3AClassificationShippingRateInputDraft). - If `CartScore`, it must be [ScoreShippingRateInputDraft](/urn?urn=ctp%3Aapi%3Atype%3AScoreShippingRateInputDraft). - If `CartValue`, it cannot be set. ###### ClassificationShippingRateInputDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:ClassificationShippingRateInputDraft). ###### ScoreShippingRateInputDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:ScoreShippingRateInputDraft). #### ItemShippingDetails [type definition](/api/projects/carts.md?urn=ctp:api:type:ItemShippingDetails). ##### ItemShippingDetailsDraft [type definition](/api/projects/carts.md?urn=ctp:api:type:ItemShippingDetailsDraft). ##### ItemShippingTarget [type definition](/api/projects/carts.md?urn=ctp:api:type:ItemShippingTarget). #### ItemState [type definition](/api/projects/carts.md?urn=ctp:api:type:ItemState). #### DiscountTypeCombination Indicates how discounts interact in a Cart. #### BestDeal [type definition](/api/projects/carts.md?urn=ctp:api:type:BestDeal). #### Stacking [type definition](/api/projects/carts.md?urn=ctp:api:type:Stacking). ## Get Cart The following methods retrieve a Cart accessible globally in the Project. For retrieving Carts available in a [Store](/api/projects/stores.md) only, use the [Get Cart in Store](/api/projects/carts.md#get-cart-in-store) methods instead. ### Get Cart by ID [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts/\{id}:GET). ### Get Cart by Key [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts/key=\{key}:GET). ### Get Cart by Customer ID [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts/customer-id=\{customerId}:GET). ## Get Cart in Store The following methods retrieve a Cart from a specific [Store](/api/projects/stores.md). For retrieving Carts accessible globally in the Project, use the [Get Cart](/api/projects/carts.md#get-cart) methods instead. ### Get Cart in Store by ID [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts/\{id}:GET). ### Get Cart in Store by Key [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts/key=\{key}:GET). ### Get Cart in Store by Customer ID [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts/customer-id=\{customerId}:GET). ## Query Carts [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts:GET). ## Query Carts in Store [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts:GET). ## Check if Cart exists ### Check if Cart exists by ID [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts/\{id}:HEAD). ### Check if Cart exists by Key [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts/key=\{key}:HEAD). ### Check if Cart exists by Customer ID [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts/customer-id=\{customerId}:HEAD). ### Check if Cart exists by Query Predicate [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts:HEAD). ## Check if Cart exists in Store ### Check if Cart exists in Store by ID [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts/\{id}:HEAD). ### Check if Cart exists in Store by Key [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts/key=\{key}:HEAD). ### Check if Cart exists in Store by Customer ID [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts/customer-id=\{customerId}:HEAD). ### Check if Cart exists in Store by Query Predicate [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts:HEAD). ## Create Cart [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts:POST). ## Create Cart in Store [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts:POST). ## Replicate Cart [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts/replicate:POST). ## Replicate Cart in Store [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts/replicate:POST). ## Merge Cart The following method merges an anonymous Cart with a Customer Cart accessible globally in the Project. For merging Carts in a [Store](/api/projects/stores.md) only, use the [Merge Cart in Store](/api/projects/carts.md#merge-cart-in-store) endpoint instead. [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts/customer-id=\{customerId}/merge:POST). ## Merge Cart in Store The following method merges an anonymous Cart with a Customer Cart from a specific [Store](/api/projects/stores.md). For merging Carts accessible globally in the Project, use the [Merge Cart](/api/projects/carts.md#merge-cart) method instead. [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts/customer-id=\{customerId}/merge:POST). ## Update Cart The following methods update a Cart accessible globally in the Project. For updating Carts available in a [Store](/api/projects/stores.md) only, use the [Update Cart in Store](/api/projects/carts.md#update-cart-in-store) methods instead. Calling these methods might lead to additional [Cart updates](/api/carts-orders-overview.md#update-a-cart) not explicitly requested by update actions. ### Update Cart by ID [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts/\{id}:POST). ### Update Cart by Key [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts/key=\{key}:POST). ## Update Cart in Store The following methods update a Cart from a specific [Store](/api/projects/stores.md). For updating Carts accessible globally in the Project, use the [Update Cart](/api/projects/carts.md#update-cart) methods instead. Calling these methods might lead to additional [Cart updates](/api/carts-orders-overview.md#update-a-cart) not explicitly requested by update actions. ### Update Cart in Store by ID [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts/\{id}:POST). ### Update Cart in Store by Key [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts/key=\{key}:POST). ## Update actions #### on Cart ##### Set Key [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetKeyAction). ##### Set Customer ID [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCustomerIdAction). ##### Set Customer Email [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCustomerEmailAction). ##### Set Customer Group [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCustomerGroupAction). ##### Set Anonymous ID [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetAnonymousIdAction). ##### Set Purchase Order Number [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetPurchaseOrderNumberAction). ##### Set Business Unit [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetBusinessUnitAction). ##### Add LineItem [type definition](/api/projects/carts.md?urn=ctp:api:type:CartAddLineItemAction). ##### Remove LineItem [type definition](/api/projects/carts.md?urn=ctp:api:type:CartRemoveLineItemAction). ##### Change LineItems Order [type definition](/api/projects/carts.md?urn=ctp:api:type:CartChangeLineItemsOrderAction). ##### Add CustomLineItem [type definition](/api/projects/carts.md?urn=ctp:api:type:CartAddCustomLineItemAction). ##### Remove CustomLineItem [type definition](/api/projects/carts.md?urn=ctp:api:type:CartRemoveCustomLineItemAction). ##### Add Shopping List [type definition](/api/projects/carts.md?urn=ctp:api:type:CartAddShoppingListAction). ##### Set Cart Total Tax [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCartTotalTaxAction). ##### Change TaxMode [type definition](/api/projects/carts.md?urn=ctp:api:type:CartChangeTaxModeAction). ##### Change Price RoundingMode [type definition](/api/projects/carts.md?urn=ctp:api:type:CartChangePriceRoundingModeAction). ##### Change Tax RoundingMode [type definition](/api/projects/carts.md?urn=ctp:api:type:CartChangeTaxRoundingModeAction). ##### Change TaxCalculationMode [type definition](/api/projects/carts.md?urn=ctp:api:type:CartChangeTaxCalculationModeAction). ##### Add DiscountCode [type definition](/api/projects/carts.md?urn=ctp:api:type:CartAddDiscountCodeAction). ##### Remove DiscountCode [type definition](/api/projects/carts.md?urn=ctp:api:type:CartRemoveDiscountCodeAction). ##### Set DirectDiscounts [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetDirectDiscountsAction). ##### Add Payment [type definition](/api/projects/carts.md?urn=ctp:api:type:CartAddPaymentAction). ##### Remove Payment [type definition](/api/projects/carts.md?urn=ctp:api:type:CartRemovePaymentAction). ##### Set Billing Address [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetBillingAddressAction). ##### Set Shipping Address [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetShippingAddressAction). ##### Add ItemShippingAddress [type definition](/api/projects/carts.md?urn=ctp:api:type:CartAddItemShippingAddressAction). ##### Remove ItemShippingAddress [type definition](/api/projects/carts.md?urn=ctp:api:type:CartRemoveItemShippingAddressAction). ##### Update ItemShippingAddress [type definition](/api/projects/carts.md?urn=ctp:api:type:CartUpdateItemShippingAddressAction). ##### Add ShippingMethod [type definition](/api/projects/carts.md?urn=ctp:api:type:CartAddShippingMethodAction). ##### Remove ShippingMethod [type definition](/api/projects/carts.md?urn=ctp:api:type:CartRemoveShippingMethodAction). ##### Set ShippingMethod [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetShippingMethodAction). ##### Add Custom ShippingMethod [type definition](/api/projects/carts.md?urn=ctp:api:type:CartAddCustomShippingMethodAction). ##### Set Custom ShippingMethod [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCustomShippingMethodAction). ##### Set ShippingRateInput [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetShippingRateInputAction). ##### Set Locale [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetLocaleAction). ##### Set Country [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCountryAction). ##### Set DeleteDaysAfterLastModification [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetDeleteDaysAfterLastModificationAction). ##### Set Custom Type [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCustomTypeAction). ##### Set CustomField [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCustomFieldAction). ##### Set Reservation Expiration in Minutes [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetReservationExpirationInMinutesAction). ##### Recalculate [type definition](/api/projects/carts.md?urn=ctp:api:type:CartRecalculateAction). ##### Freeze Cart [type definition](/api/projects/carts.md?urn=ctp:api:type:CartFreezeCartAction). ##### Unfreeze Cart [type definition](/api/projects/carts.md?urn=ctp:api:type:CartUnfreezeCartAction). ##### Lock Cart [type definition](/api/projects/carts.md?urn=ctp:api:type:CartLockCartAction). ##### Unlock Cart [type definition](/api/projects/carts.md?urn=ctp:api:type:CartUnlockCartAction). #### on Line Item ##### Change LineItem Quantity [type definition](/api/projects/carts.md?urn=ctp:api:type:CartChangeLineItemQuantityAction). ##### Set LineItem TaxRate [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetLineItemTaxRateAction). ##### Set LineItem TaxAmount [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetLineItemTaxAmountAction). ##### Set LineItem Price [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetLineItemPriceAction). ##### Set LineItem TotalPrice [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetLineItemTotalPriceAction). ##### Set LineItem DistributionChannel [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetLineItemDistributionChannelAction). ##### Set LineItem SupplyChannel [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetLineItemSupplyChannelAction). ##### Set LineItem ShippingDetails [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetLineItemShippingDetailsAction). ##### Apply DeltaToLineItemShippingDetailsTargets [type definition](/api/projects/carts.md?urn=ctp:api:type:CartApplyDeltaToLineItemShippingDetailsTargetsAction). ##### Set LineItemRecurrenceInfo [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetLineItemRecurrenceInfoAction). ##### Set LineItem Custom Type [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetLineItemCustomTypeAction). ##### Set LineItem CustomField [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetLineItemCustomFieldAction). ##### Set LineItem InventoryMode [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetLineItemInventoryModeAction). #### on Custom Line Item ##### Change CustomLineItem Quantity [type definition](/api/projects/carts.md?urn=ctp:api:type:CartChangeCustomLineItemQuantityAction). ##### Set CustomLineItem TaxRate [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCustomLineItemTaxRateAction). ##### Set CustomLineItem TaxAmount [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCustomLineItemTaxAmountAction). ##### Change CustomLineItem Price Mode [type definition](/api/projects/carts.md?urn=ctp:api:type:CartChangeCustomLineItemPriceModeAction). ##### Change CustomLineItem Money [type definition](/api/projects/carts.md?urn=ctp:api:type:CartChangeCustomLineItemMoneyAction). ##### Set CustomLineItem ShippingDetails [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCustomLineItemShippingDetailsAction). ##### Apply DeltaToCustomLineItemShippingDetailsTargets [type definition](/api/projects/carts.md?urn=ctp:api:type:CartApplyDeltaToCustomLineItemShippingDetailsTargetsAction). ##### Set CustomLineItemRecurrenceInfo [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCustomLineItemRecurrenceInfoAction). ##### Set CustomLineItem Custom Type [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCustomLineItemCustomTypeAction). ##### Set CustomLineItem CustomField [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetCustomLineItemCustomFieldAction). #### on Billing Address ##### Set Billing Address Custom Type [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetBillingAddressCustomTypeAction). ##### Set Billing Address CustomField [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetBillingAddressCustomFieldAction). #### on Shipping Address ##### Set Shipping Address Custom Type [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetShippingAddressCustomTypeAction). ##### Set Shipping Address CustomField [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetShippingAddressCustomFieldAction). #### on ItemShipping Address ##### Set ItemShipping Address Custom Type [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetItemShippingAddressCustomTypeAction). ##### Set ItemShipping Address CustomField [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetItemShippingAddressCustomFieldAction). #### on Shipping Method ##### Set ShippingMethod TaxAmount [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetShippingMethodTaxAmountAction). ##### Set ShippingMethod TaxRate [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetShippingMethodTaxRateAction). #### on Shipping ##### Set Shipping Custom Type [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetShippingCustomTypeAction). ##### Set Shipping CustomField [type definition](/api/projects/carts.md?urn=ctp:api:type:CartSetShippingCustomFieldAction). ## Delete Cart The following methods delete a Cart accessible globally in the Project. For deleting Carts available in a [Store](/api/projects/stores.md) only, use the [Delete Cart in Store](/api/projects/carts.md#delete-cart-in-store) methods instead. ### Delete Cart by ID [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts/\{id}:DELETE). ### Delete Cart by Key [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/carts/key=\{key}:DELETE). ## Delete Cart in Store The following methods delete a Cart from a specific [Store](/api/projects/stores.md). For deleting Carts accessible globally in the Project, use the [Delete Cart](/api/projects/carts.md#delete-cart) methods instead. ### Delete Cart in Store by ID [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts/\{id}:DELETE). ### Delete Cart in Store by Key [endpoint definition](/api/projects/carts.md?urn=ctp:api:endpoint:/\{projectKey}/in-store/key=\{storeKey}/carts/key=\{key}:DELETE). ## Related pages - [Area overview page with navigation](/api.md) - [Previous page: Overview](/api/carts-orders-overview.md) - [Next page: Orders](/api/projects/orders.md)