# Cart

Carts are a straightforward way for a buyer user to interact with an order before submitting it. Unlike order endpoints, an order ID is not needed to interact with the cart. This simplifies workflows and eliminates the need to keep track of the order ID on the front end. Please note cart should be used as a distinct alternative to order endpoints for a buyer user during the shopping experience; combining the use of cart endpoints with order endpoints is not supported and may have unexpected results. Only available to buyer users.

 - [GET /cart](https://api-docs.sitecore.com/ordercloud/cart/cart.get.md): If the ID of the Order returned is null, the cart has not yet been interacted with. Once an item is added, the Order.ID will be populated.
 - [PUT /cart](https://api-docs.sitecore.com/ordercloud/cart/cart.save.md): If an object with the same ID already exists, it will be overwritten.The recommended way to initiate a new cart is to add a line item. If there is a specific reason an order needs to exist prior to ad
 - [DELETE /cart](https://api-docs.sitecore.com/ordercloud/cart/cart.delete.md): Empties the cart. Any promotions, payments or other items associated with the cart will also be removed.
 - [PATCH /cart](https://api-docs.sitecore.com/ordercloud/cart/cart.patch.md)
 - [PUT /cart/{orderID}](https://api-docs.sitecore.com/ordercloud/cart/cart.setactivecart.md)
 - [POST /cart/applypromotions](https://api-docs.sitecore.com/ordercloud/cart/cart.applypromotions.md): Apply up to 100 eligible promotions where AutoApply=true.
 - [PUT /cart/billto](https://api-docs.sitecore.com/ordercloud/cart/cart.setbillingaddress.md): Use only when the address is not to be saved/reused.To use a saved address (i.e. from the Addresses resource), PATCH the order's BillingAddressID property instead.
 - [PATCH /cart/billto](https://api-docs.sitecore.com/ordercloud/cart/cart.patchbillingaddress.md): Not allowed on carts where BillingAddressID has been set. In that case, use the Addresses resource to update the saved address.
 - [POST /cart/bundles/{bundleID}](https://api-docs.sitecore.com/ordercloud/cart/cart.createbundleitem.md): Adds bundle line items to the cart
 - [DELETE /cart/bundles/{bundleID}/{bundleItemID}](https://api-docs.sitecore.com/ordercloud/cart/cart.deletebundleitem.md)
 - [POST /cart/calculate](https://api-docs.sitecore.com/ordercloud/cart/cart.calculate.md)
 - [GET /cart/eligiblepromotions](https://api-docs.sitecore.com/ordercloud/cart/cart.listeligiblepromotions.md)
 - [POST /cart/estimateshipping](https://api-docs.sitecore.com/ordercloud/cart/cart.estimateshipping.md)
 - [PATCH /cart/fromuser](https://api-docs.sitecore.com/ordercloud/cart/cart.patchfromuser.md): Only FirstName, LastName, and Email can be updated.Primarily used to facilitate guest checkout scenarios.
 - [GET /cart/lineitems](https://api-docs.sitecore.com/ordercloud/cart/cart.listlineitems.md)
 - [POST /cart/lineitems](https://api-docs.sitecore.com/ordercloud/cart/cart.createlineitem.md): Adds a line item to the cart
 - [GET /cart/lineitems/{lineItemID}](https://api-docs.sitecore.com/ordercloud/cart/cart.getlineitem.md)
 - [PUT /cart/lineitems/{lineItemID}](https://api-docs.sitecore.com/ordercloud/cart/cart.savelineitem.md)
 - [DELETE /cart/lineitems/{lineItemID}](https://api-docs.sitecore.com/ordercloud/cart/cart.deletelineitem.md)
 - [PATCH /cart/lineitems/{lineItemID}](https://api-docs.sitecore.com/ordercloud/cart/cart.patchlineitem.md)
 - [GET /cart/payments](https://api-docs.sitecore.com/ordercloud/cart/cart.listpayments.md)
 - [POST /cart/payments](https://api-docs.sitecore.com/ordercloud/cart/cart.createpayment.md)
 - [GET /cart/payments/{paymentID}](https://api-docs.sitecore.com/ordercloud/cart/cart.getpayment.md)
 - [DELETE /cart/payments/{paymentID}](https://api-docs.sitecore.com/ordercloud/cart/cart.deletepayment.md)
 - [PATCH /cart/payments/{paymentID}](https://api-docs.sitecore.com/ordercloud/cart/cart.patchpayment.md)
 - [POST /cart/payments/{paymentID}/transactions](https://api-docs.sitecore.com/ordercloud/cart/cart.createpaymenttransaction.md)
 - [DELETE /cart/payments/{paymentID}/transactions/{transactionID}](https://api-docs.sitecore.com/ordercloud/cart/cart.deletepaymenttransaction.md)
 - [GET /cart/promotions](https://api-docs.sitecore.com/ordercloud/cart/cart.listpromotions.md)
 - [POST /cart/promotions/{promoCode}](https://api-docs.sitecore.com/ordercloud/cart/cart.addpromotion.md)
 - [DELETE /cart/promotions/{promoCode}](https://api-docs.sitecore.com/ordercloud/cart/cart.deletepromotion.md)
 - [POST /cart/refreshpromotions](https://api-docs.sitecore.com/ordercloud/cart/cart.refreshpromotions.md): Re-calculates promotion discounts, removes promotions that are no longer valid, and adds eligible promotions where AutoApply=true (up to limit of 100)
 - [POST /cart/shipmethods](https://api-docs.sitecore.com/ordercloud/cart/cart.selectshipmethods.md)
 - [PUT /cart/shipto](https://api-docs.sitecore.com/ordercloud/cart/cart.setshippingaddress.md): Use only when the address is not to be saved/reused. To use a saved address (i.e. from the Addresses resource), PATCH the order's ShippingAddressID property instead. The address used will be populated
 - [PATCH /cart/shipto](https://api-docs.sitecore.com/ordercloud/cart/cart.patchshippingaddress.md): Not allowed on carts where ShippingAddressID has been set. In that case, use the Addresses resource to update the saved address.
 - [POST /cart/submit](https://api-docs.sitecore.com/ordercloud/cart/cart.submit.md)
 - [POST /cart/validate](https://api-docs.sitecore.com/ordercloud/cart/cart.validate.md)
 - [GET /cart/worksheet](https://api-docs.sitecore.com/ordercloud/cart/cart.getorderworksheet.md)
