{"openapi":"3.1.0","info":{"title":"Storefront Carts","version":"1.0.0"},"paths":{"/carts":{"get":{"operationId":"getCart","summary":"Get Cart","description":"Returns a *Cart*.\n\n> #### Note\n> * Substitute your storefront domain for `yourstore.example.com`. \n> * The Send a Test Request feature is not currently supported for this endpoint.  ","tags":["cart"],"parameters":[{"name":"include","in":"query","description":"To return product options add one of the following include:\n\n`lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return.\n\n`lineItems.digitalItems.options`:  The Cart returns an abbreviated result. Use this to return digital items product options.  Can also be used in a /POST to have the extended Cart object return.\n\n`lineItems.digitalItems.options,lineItems.physicalItems.options`:  The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CartsGetParametersIncludeSchemaItems"}}},{"name":"Accept","in":"header","description":"The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.","required":true,"schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/responseCart"}}}}}}},"post":{"operationId":"createCart","summary":"Create Cart","description":"Creates a *Cart*.\n\n> #### Note\n> * Substitute your storefront domain for `yourstore.example.com`. \n> * The Send a Test Request feature is not currently supported for this endpoint.  ","tags":["cart"],"parameters":[{"name":"include","in":"query","description":"To return product options add one of the following include:\n\n`lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return.\n\n`lineItems.digitalItems.options`:  The Cart returns an abbreviated result. Use this to return digital items product options.  Can also be used in a /POST to have the extended Cart object return.\n\n`lineItems.digitalItems.options,lineItems.physicalItems.options`:  The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CartsPostParametersIncludeSchemaItems"}}},{"name":"Accept","in":"header","description":"The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.","required":true,"schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"Post Carts Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/responseCart"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/requestCart"}}}}}},"/carts/{cartId}":{"delete":{"operationId":"deleteCart","summary":"Delete Cart","description":"Deletes a *Cart*. Once a *Cart* has been deleted it can not be recovered.\n\n\n> #### Note\n> * Substitute your storefront domain for `yourstore.example.com`. \n> * The Send a Test Request feature is not currently supported for this endpoint.  ","tags":["cart"],"parameters":[{"name":"cartId","in":"path","description":"This cartʼs unique ID.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Accept","in":"header","description":"The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.","required":true,"schema":{"type":"string","default":"application/json"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}}}},"/carts/{cartId}/currency":{"post":{"operationId":"updateCartCurrency","summary":"Update Cart Currency","description":"Update currency of the *Cart*. \nPromotions and gift certificates that don't apply to the new currency will be removed from your cart.\nYou cannot update the cart currency if the draft order cart or the cart contains a manual discount.\n\n> #### Note\n> * Substitute your storefront domain for `yourstore.example.com`. \n> * The Send a Test Request feature is not currently supported for this endpoint.  ","tags":["cartCurrency"],"parameters":[{"name":"cartId","in":"path","description":"This cartʼs unique ID.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"include","in":"query","description":"To return product options add one of the following include:\n\n`lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return.\n\n`lineItems.digitalItems.options`:  The Cart returns an abbreviated result. Use this to return digital items product options.  Can also be used in a /POST to have the extended Cart object return.\n\n`lineItems.digitalItems.options,lineItems.physicalItems.options`:  The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CartsCartIdCurrencyPostParametersIncludeSchemaItems"}}},{"name":"Accept","in":"header","description":"The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.","required":true,"schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/responseCart"}}}}},"400":{"description":"Bad request. Authentication Required.","content":{"application/json":{"schema":{"description":"Any type"}}}},"404":{"description":"Currency not found","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Missing or invalid data","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"currencyCode":{"type":"string","description":"currency code"}},"required":["currencyCode"]}}}}}},"/carts/{cartId}/items":{"post":{"operationId":"addCartLineItem","summary":"Add Cart Line Items","description":"Adds a line items to the *Cart*.\n\n> #### Notes\n> * Substitute your storefront domain for `yourstore.example.com`. \n> * The Send a Test Request feature is not currently supported for this endpoint.  \n> * To prevent lost updates due to concurrent requests overriding changes made by others, it is recommended to enable optimistic concurrency control by including the `version` field in the request payload. If the provided version does not match the version on the server, a conflict error will be returned, which the client can handle accordingly.","tags":["cartItems"],"parameters":[{"name":"cartId","in":"path","description":"This cartʼs unique ID.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"include","in":"query","description":"To return product options add one of the following include:\n\n`lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return.\n\n`lineItems.digitalItems.options`:  The Cart returns an abbreviated result. Use this to return digital items product options.  Can also be used in a /POST to have the extended Cart object return.\n\n`lineItems.digitalItems.options,lineItems.physicalItems.options`:  The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CartsCartIdItemsPostParametersIncludeSchemaItems"}}},{"name":"Accept","in":"header","description":"The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.","required":true,"schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/responseCart"}}}},"409":{"description":"Cart conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCartLineItemRequestConflictError"}}}}},"requestBody":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemsRequest"}}}}}},"/carts/{cartId}/items/{itemId}":{"put":{"operationId":"updateCartLineItem","summary":"Update Cart Line Item","description":"Updates a *Cart* line item. Updates an existing, single line item quantity and the price of custom items in a cart.\n\nIf a modified product or variant needs to be changed or updated, you can remove and re-add the product to the cart with the correct variants using the [Delete Cart Line Item](/developer/api-reference/rest/storefront/carts/cart-items/delete-cart-line-item) and the [Add Cart Line Items](/developer/api-reference/rest/storefront/carts/cart-items/add-cart-line-item) endpoints. You can also use carts mutations that are part of the [GraphQL Storefront API](/developer/docs/storefront/guides/graphql-storefront-api/overview).\n\n\n> #### Notes\n> * Substitute your storefront domain for `yourstore.example.com`. \n> * The Send a Test Request feature is not currently supported for this endpoint. \n> * To prevent lost updates due to concurrent requests overriding changes made by others, it is recommended to enable optimistic concurrency control by including the `version` field in the request payload. If the provided version does not match the version on the server, a conflict error will be returned, which the client can handle accordingly.","tags":["cartItems"],"parameters":[{"name":"cartId","in":"path","description":"This cartʼs unique ID.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"itemId","in":"path","description":"The ID of the subject item.","required":true,"schema":{"type":"string","format":"number"}},{"name":"include","in":"query","description":"To return product options add one of the following include:\n\n`lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return.\n\n`lineItems.digitalItems.options`:  The Cart returns an abbreviated result. Use this to return digital items product options.  Can also be used in a /POST to have the extended Cart object return.\n\n`lineItems.digitalItems.options,lineItems.physicalItems.options`:  The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CartsCartIdItemsItemIdPutParametersIncludeSchemaItems"}}},{"name":"Accept","in":"header","description":"The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.","required":true,"schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/responseCart"}}}},"409":{"description":"Cart conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCartLineItemRequestConflictError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/requestLineItemPut"}}}}},"delete":{"operationId":"deleteCartLineItem","summary":"Delete Cart Line Item","description":"Deletes a *Cart* line item.\n\nRemoving the last `line_item` in the *Cart* deletes the *Cart*.\n\n> #### Note\n> * Substitute your storefront domain for `yourstore.example.com`. \n> * The Send a Test Request feature is not currently supported for this endpoint.  \n> * To prevent lost updates due to concurrent requests overriding changes made by others, it is recommended to enable optimistic concurrency control by including the `version` field in the request payload. If the provided version does not match the version on the server, a conflict error will be returned, which the client can handle accordingly.","tags":["cartItems"],"parameters":[{"name":"cartId","in":"path","description":"This cartʼs unique ID.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"itemId","in":"path","description":"The ID of the subject item.","required":true,"schema":{"type":"string","format":"number"}},{"name":"include","in":"query","description":"To return product options add one of the following include:\n\n`lineItems.physicalItems.options`: The Cart returns an abbreviated result. Use this to return physical items product options. Can also be used in a /POST to have the extended Cart object return.\n\n`lineItems.digitalItems.options`:  The Cart returns an abbreviated result. Use this to return digital items product options.  Can also be used in a /POST to have the extended Cart object return.\n\n`lineItems.digitalItems.options,lineItems.physicalItems.options`:  The Cart returns an abbreviated result. Use this to return digital and physical options. Can also be used in a /POST to have the extended Cart object return.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CartsCartIdItemsItemIdDeleteParametersIncludeSchemaItems"}}},{"name":"Accept","in":"header","description":"The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.","required":true,"schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"NOTE: Discounted line items are re-evaluated on cart actions and may be automatically added back to your cart with a new line item ID to satisfy promotional requirements.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/responseCart"}}}},"409":{"description":"Cart conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteCartLineItemRequestConflictError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/requestLineItemDelete"}}}}}}},"servers":[{"url":"https://your_store.example.com/api/storefront","description":"https://{store_domain}/api/storefront"}],"components":{"schemas":{"CartsGetParametersIncludeSchemaItems":{"type":"string","enum":["lineItems.physicalItems.options","lineItems.digitalItems.options"],"title":"CartsGetParametersIncludeSchemaItems"},"responseCartCurrency":{"type":"object","properties":{"code":{"type":"string","format":"ISO-4217","description":"ISO-4217 currency code. (See: https://www.iso.org/iso-4217-currency-codes.html.)"},"decimalPlaces":{"type":"integer","description":"The number of decimal places that prices have when you use the currency."},"name":{"type":"string","description":"The name for the currency that the merchant entered in the control panel."},"symbol":{"type":"string","description":"The currency symbol displayed on the storefront."}},"description":"This will always be the same between cart and checkout.","title":"responseCartCurrency"},"ResponseCartCouponsItems":{"type":"object","properties":{"code":{"type":"string","description":"The coupon code."},"couponType":{"type":"integer","description":"|Type `int`|Type Name|\n|-|-|\n|`0`|`per_item_discount`|\n|`1`|`percentage_discount`|\n|`2`|`per_total_discount`|\n|`3`|`shipping_discount`|\n|`4`|`free_shipping`|\n|`5`|`promotion`|"},"discountedAmount":{"type":"string","title":"float","description":"The discounted amount applied within a given context."},"displayName":{"type":"string","description":"The coupon name displayed on the storefront."},"id":{"type":"string","description":"The coupon ID."}},"required":["code"],"title":"ResponseCartCouponsItems"},"responseCartCoupons":{"type":"array","items":{"$ref":"#/components/schemas/ResponseCartCouponsItems"},"title":"responseCartCoupons"},"ResponseCartDiscountsItems":{"type":"object","properties":{"discountedAmount":{"type":"string","title":"float","description":"The discounted amount applied within a given context."},"id":{"type":"string","description":"ID of the applied discount."}},"title":"ResponseCartDiscountsItems"},"responseCartDiscounts":{"type":"array","items":{"$ref":"#/components/schemas/ResponseCartDiscountsItems"},"title":"responseCartDiscounts"},"responseCartLineItemsCustomItems":{"type":"object","properties":{"extendedListPrice":{"type":"integer"},"id":{"type":"string","description":"ID of the custom item"},"listPrice":{"type":"integer","description":"Price of the item. With or without tax depending on your stores set up."},"name":{"type":"string","description":"Name of the custom item."},"quantity":{"type":"integer"},"sku":{"type":"string","description":"SKU of the custom item."}},"description":"**Read Only**\n\nThis will return in the Cart Response if the Cart was created using the [REST Management API](/developer/api-reference/rest/admin/management/carts). A custom item can only be added to a cart using the REST Management API.","title":"responseCartLineItemsCustomItems"},"responseCartLineItemsDigitalItemsAllOf0OptionsItems":{"type":"object","properties":{"name":{"type":"string","description":"The product option name. For example, Color or Size"},"nameId":{"type":"number","format":"double","description":"The product option identifier. It is the same as the `optionId` used in the request. "},"value":{"type":"string","description":"The product option value. For example, Red or Medium"},"valueId":{"type":"number","format":"double","description":"The product option value identifier. It is the same as the `optionValue` used in the request."}},"title":"responseCartLineItemsDigitalItemsAllOf0OptionsItems"},"responseCartLineItemsDigitalItemsAllOf0DiscountsItems":{"type":"object","properties":{"discountedAmount":{"type":"string","title":"float","description":"The discounted amount applied within a given context."},"id":{"type":"number","format":"double","description":"ID of the applied discount."}},"title":"responseCartLineItemsDigitalItemsAllOf0DiscountsItems"},"ResponseCartLineItemsDigitalItemsAllOf0Type":{"type":"string","enum":["digital"],"description":"The type of line item.","title":"ResponseCartLineItemsDigitalItemsAllOf0Type"},"responseCartLineItemsDigitalItems":{"type":"object","properties":{"options":{"type":"array","items":{"$ref":"#/components/schemas/responseCartLineItemsDigitalItemsAllOf0OptionsItems"},"description":"The list of selected options for this product."},"brand":{"type":"string","description":"The products brand"},"couponAmount":{"type":"number","format":"double","description":"The total value of all coupons applied to this item."},"discountAmount":{"type":"string","title":"float","description":"The total value of all discounts applied to this item (excluding coupon)."},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/responseCartLineItemsDigitalItemsAllOf0DiscountsItems"},"description":"List of discounts applied to this item, as an array of AppliedDiscount objects."},"extendedListPrice":{"type":"number","format":"double","description":"Item's list price multiplied by the quantity."},"extendedSalePrice":{"type":"number","format":"double","description":"Item's sale price multiplied by the quantity."},"id":{"type":"string","description":"The line-item ID."},"imageUrl":{"type":"string","format":"uri","description":"URL of an image of this item, accessible on the internet."},"isMutable":{"type":"boolean","description":"Whether or not you can change or remove the item from the cart. Items that are immutable include those added automatically by promotions."},"isTaxable":{"type":"boolean","description":"Whether the item is taxable."},"listPrice":{"type":"number","format":"double","description":"The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel."},"originalPrice":{"type":"number","format":"double","description":"An item’s original price is the same as the product default price in the admin panel."},"name":{"type":"string","description":"The item's product name."},"parentId":{"type":"string","description":"The product is part of a bundle such as a product pick list, then the parentId or the main product id will populate."},"productId":{"type":"number","format":"double","description":"ID of the product."},"quantity":{"type":"number","format":"double","description":"Quantity of this item."},"salePrice":{"type":"number","format":"double","description":"Item's price after all discounts are applied. (The final price before tax calculation.)"},"sku":{"type":"string","description":"SKU of the variant."},"type":{"$ref":"#/components/schemas/ResponseCartLineItemsDigitalItemsAllOf0Type","description":"The type of line item."},"url":{"type":"string","format":"uri","description":"The product URL."},"variantId":{"type":"number","format":"double","description":"ID of the variant."}},"required":["quantity"],"title":"responseCartLineItemsDigitalItems"},"responseCartLineItemsGiftCertificatesRecipient":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Contact's email address."},"name":{"type":"string","description":"Contact's name."}},"title":"responseCartLineItemsGiftCertificatesRecipient"},"responseCartLineItemsGiftCertificatesSender":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Contact's email address."},"name":{"type":"string","description":"Contact's name."}},"title":"responseCartLineItemsGiftCertificatesSender"},"ResponseCartLineItemsGiftCertificatesType":{"type":"string","enum":["giftCertificate"],"description":"The type of line item.","title":"ResponseCartLineItemsGiftCertificatesType"},"responseCartLineItemsGiftCertificates":{"type":"object","properties":{"amount":{"type":"number","format":"double","description":"Value must be between 1.00 and 1,000.00 in the storeʼs default currency."},"id":{"type":"string","description":"ID of this gift certificate."},"taxable":{"type":"boolean","description":"Whether or not the gift certificate is taxable."},"message":{"type":"string","description":"Message that will be sent to the gift certificate's recipient. Limited to 200 characters."},"name":{"type":"string","description":"Name provided for the gift certificate that appears in the control panel."},"recipient":{"$ref":"#/components/schemas/responseCartLineItemsGiftCertificatesRecipient"},"sender":{"$ref":"#/components/schemas/responseCartLineItemsGiftCertificatesSender"},"theme":{"type":"string","description":"Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`."},"type":{"$ref":"#/components/schemas/ResponseCartLineItemsGiftCertificatesType","description":"The type of line item."}},"required":["amount","recipient","sender","theme"],"title":"responseCartLineItemsGiftCertificates"},"responseCartLineItemsItemsPhysicalItemsItemsAllOf0OptionsItems":{"type":"object","properties":{"name":{"type":"string","description":"The product option name. For example, Color or Size"},"nameId":{"type":"number","format":"double","description":"The product option identifier. It is the same as the `optionId` used in the request."},"value":{"type":"string","description":"The product option value. For example, Red or Medium"},"valueId":{"type":"number","format":"double","description":"The product option value identifier. It is the same as the `optionValue` used in the request."}},"title":"responseCartLineItemsItemsPhysicalItemsItemsAllOf0OptionsItems"},"ResponseCartBaseItemType":{"type":"string","enum":["physical"],"description":"The type of line item.","title":"ResponseCartBaseItemType"},"responseCartLineItemsPhysicalItemGiftWrapping":{"type":"object","properties":{"amount":{"type":"string","title":"float","description":"Gift-wrapping price per product."},"message":{"type":"string"},"name":{"type":"string","description":"Name of the gift-wrapping option."}},"title":"responseCartLineItemsPhysicalItemGiftWrapping"},"responseCartLineItemsItemsPhysicalItemsItems":{"type":"object","properties":{"options":{"type":"array","items":{"$ref":"#/components/schemas/responseCartLineItemsItemsPhysicalItemsItemsAllOf0OptionsItems"},"description":"The list of selected options for this product."},"brand":{"type":"string","description":"The products brand"},"couponAmount":{"type":"number","format":"double","description":"The total value of all coupons applied to this item."},"discountAmount":{"type":"string","title":"float","description":"The total value of all discounts applied to this item (excluding coupon)."},"discounts":{"$ref":"#/components/schemas/responseCartDiscounts"},"extendedListPrice":{"type":"number","format":"double","description":"Item's list price multiplied by the quantity."},"extendedSalePrice":{"type":"number","format":"double","description":"Item's sale price multiplied by the quantity."},"id":{"type":"string","description":"The line-item ID."},"imageUrl":{"type":"string","format":"uri","description":"URL of an image of this item, accessible on the internet."},"isMutable":{"type":"boolean","description":"Whether or not you can change or remove the item from the cart. Items that are immutable include those added automatically by promotions."},"isTaxable":{"type":"boolean","description":"Whether the item is taxable."},"listPrice":{"type":"number","format":"double","description":"The net item price before discounts and coupons. BigCommerce derives an item’s list price from the product default price or, if applicable, the sale price configured in the admin panel."},"originalPrice":{"type":"number","format":"double","description":"An item’s original price is the same as the product default price in the admin panel."},"name":{"type":"string","description":"The item's product name."},"parentId":{"type":"number","format":"double","description":"The product is part of a bundle such as a product pick list, then the parentId or the main product id will populate."},"productId":{"type":"number","format":"double","description":"ID of the product."},"quantity":{"type":"number","format":"double","description":"Quantity of this item."},"salePrice":{"type":"number","format":"double","description":"Item's price after all discounts are applied. (The final price before tax calculation.)"},"sku":{"type":"string","description":"SKU of the variant."},"type":{"$ref":"#/components/schemas/ResponseCartBaseItemType","description":"The type of line item."},"url":{"type":"string","format":"uri","description":"The product URL."},"variantId":{"type":"number","format":"double","description":"ID of the variant."},"giftWrapping":{"$ref":"#/components/schemas/responseCartLineItemsPhysicalItemGiftWrapping"},"isShippingRequired":{"type":"boolean","description":"Whether this item requires shipping to a physical address."}},"required":["quantity"],"title":"responseCartLineItemsItemsPhysicalItemsItems"},"responseCartLineItems":{"type":"object","properties":{"customItems":{"type":"array","items":{"$ref":"#/components/schemas/responseCartLineItemsCustomItems"}},"digitalItems":{"type":"array","items":{"$ref":"#/components/schemas/responseCartLineItemsDigitalItems"},"description":"Array of `ItemDigital` objects."},"giftCertificates":{"type":"array","items":{"$ref":"#/components/schemas/responseCartLineItemsGiftCertificates"},"description":"Array of `ItemGiftCertificate` objects."},"physicalItems":{"type":"array","items":{"$ref":"#/components/schemas/responseCartLineItemsItemsPhysicalItemsItems"},"description":"Array of `ItemPhysical` objects."}},"title":"responseCartLineItems"},"responseCart":{"type":"object","properties":{"id":{"type":"string","format":"UUID","description":"Cart ID, provided after creating a cart with a POST."},"customerId":{"type":"integer","description":"ID of the customer to which the cart belongs."},"email":{"type":"string","description":"The cart's email. This is the same email that is used in the billing address"},"currency":{"$ref":"#/components/schemas/responseCartCurrency"},"isTaxIncluded":{"type":"boolean","description":"Whether this item is taxable."},"baseAmount":{"type":"number","format":"double","description":"Cost of cart’s contents, before applying discounts."},"discountAmount":{"type":"string","title":"float","description":"Order based discounted amount only - Coupon discounts and product based discounts are excluded."},"cartAmount":{"type":"number","format":"double","description":"Sum of line-items amounts, minus cart-level discounts and coupons. This amount includes taxes (where applicable)."},"coupons":{"$ref":"#/components/schemas/responseCartCoupons"},"discounts":{"$ref":"#/components/schemas/responseCartDiscounts"},"lineItems":{"$ref":"#/components/schemas/responseCartLineItems"},"createdTime":{"type":"string","format":"ISO-8601","description":"Time when the cart was created."},"updatedTime":{"type":"string","format":"ISO-8601","description":"Time when the cart was last updated."},"locale":{"type":"string","description":"Locale of the cart."},"version":{"type":"integer","description":"The current version of the cart increments with each successful update. You can use it to enable optimistic concurrency control for subsequent updates."}},"description":"Cart object used in REST Storefront API cart responses.","title":"responseCart"},"CartsPostParametersIncludeSchemaItems":{"type":"string","enum":["lineItems.physicalItems.options","lineItems.digitalItems.options"],"title":"CartsPostParametersIncludeSchemaItems"},"RequestCartPostLineItemOneOf0OptionSelectionsItemsOptionValue":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Modifier option value.","title":"RequestCartPostLineItemOneOf0OptionSelectionsItemsOptionValue"},"RequestCartPostLineItemOneOf0OptionSelectionsItems":{"type":"object","properties":{"optionId":{"type":"integer","description":"Modifier option ID."},"optionValue":{"$ref":"#/components/schemas/RequestCartPostLineItemOneOf0OptionSelectionsItemsOptionValue","description":"Modifier option value."}},"title":"RequestCartPostLineItemOneOf0OptionSelectionsItems"},"RequestPostOrPutGiftWrappingWrapDetailsItems":{"type":"object","properties":{"id":{"type":"integer","description":"Identifier of the gift wrapping option selected."},"message":{"type":"string","description":"Custom gift message."}},"required":["id"],"title":"RequestPostOrPutGiftWrappingWrapDetailsItems"},"requestPostOrPutGiftWrapping":{"type":"object","properties":{"wrapTogether":{"type":"boolean","description":"Boolean value that specifies whether items whether items should be wrapped together or wrapped individually."},"wrapDetails":{"type":"array","items":{"$ref":"#/components/schemas/RequestPostOrPutGiftWrappingWrapDetailsItems"},"description":"Details for the gift wrapping option selected. This can be specified for each line item or together based on wrapTogether value.\nIf wrapTogether is false, each element in the wrapDetails array determines each item's specific wrapping. \n(e.g if this line item has 6 quantity, you can pass at maximum 6 elements for the array to spefified each one's wrapping)  \nIf wrapTogether is true, we will only use 1st element in the wrapDetails array to determine what to be wrapped"}},"required":["wrapTogether","wrapDetails"],"description":"if passing null, it will remove the current gift wrapping for the item","title":"requestPostOrPutGiftWrapping"},"RequestCartPostLineItem0":{"type":"object","properties":{"productId":{"type":"number","format":"double","description":"ID of the product."},"optionSelections":{"type":"array","items":{"$ref":"#/components/schemas/RequestCartPostLineItemOneOf0OptionSelectionsItems"}},"quantity":{"type":"number","format":"double","description":"Quantity of this item."},"giftWrapping":{"$ref":"#/components/schemas/requestPostOrPutGiftWrapping"}},"required":["productId","quantity"],"title":"RequestCartPostLineItem0"},"RequestCartPostLineItemOneOf1OptionSelectionsItemsOptionValue":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Modifier option value.","title":"RequestCartPostLineItemOneOf1OptionSelectionsItemsOptionValue"},"RequestCartPostLineItemOneOf1OptionSelectionsItems":{"type":"object","properties":{"optionId":{"type":"integer","description":"Modifier option ID."},"optionValue":{"$ref":"#/components/schemas/RequestCartPostLineItemOneOf1OptionSelectionsItemsOptionValue","description":"Modifier option value."}},"title":"RequestCartPostLineItemOneOf1OptionSelectionsItems"},"RequestCartPostLineItem1":{"type":"object","properties":{"productId":{"type":"number","format":"double","description":"ID of the product."},"quantity":{"type":"number","format":"double","description":"Quantity of this item."},"variantId":{"type":"number","format":"double","description":"ID of the variant."},"optionSelections":{"type":"array","items":{"$ref":"#/components/schemas/RequestCartPostLineItemOneOf1OptionSelectionsItems"}},"giftWrapping":{"$ref":"#/components/schemas/requestPostOrPutGiftWrapping"}},"required":["productId","quantity"],"title":"RequestCartPostLineItem1"},"requestCartPostLineItem":{"oneOf":[{"$ref":"#/components/schemas/RequestCartPostLineItem0"},{"$ref":"#/components/schemas/RequestCartPostLineItem1"}],"title":"requestCartPostLineItem"},"RequestCart0":{"type":"object","properties":{"lineItems":{"type":"array","items":{"$ref":"#/components/schemas/requestCartPostLineItem"}},"locale":{"type":"string"}},"required":["lineItems"],"title":"RequestCart0"},"requestLineItemGiftCertificateRecipient":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Contact's email address."},"name":{"type":"string","description":"Contact's name."}},"title":"requestLineItemGiftCertificateRecipient"},"requestLineItemGiftCertificateSender":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Contact's email address."},"name":{"type":"string","description":"Contact's name."}},"title":"requestLineItemGiftCertificateSender"},"requestLineItemGiftCertificate":{"type":"object","properties":{"amount":{"type":"number","format":"double","description":"Gift-certificate amount."},"message":{"type":"string","description":"Message shown to recipient, as provided by sender."},"name":{"type":"string","description":"Name assigned to this gift-certificate line item."},"quantity":{"type":"integer","description":"Quantity of this item."},"recipient":{"$ref":"#/components/schemas/requestLineItemGiftCertificateRecipient"},"sender":{"$ref":"#/components/schemas/requestLineItemGiftCertificateSender"},"theme":{"type":"string","description":"Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`."}},"required":["amount","name","quantity","recipient","sender","theme"],"title":"requestLineItemGiftCertificate"},"RequestCart1":{"type":"object","properties":{"giftCertificates":{"type":"array","items":{"$ref":"#/components/schemas/requestLineItemGiftCertificate"}},"locale":{"type":"string"}},"required":["giftCertificates"],"title":"RequestCart1"},"RequestCart2":{"type":"object","properties":{"lineItems":{"type":"array","items":{"$ref":"#/components/schemas/requestCartPostLineItem"}},"giftCertificates":{"type":"array","items":{"$ref":"#/components/schemas/requestLineItemGiftCertificate"}},"locale":{"type":"string"}},"required":["lineItems","giftCertificates"],"title":"RequestCart2"},"requestCart":{"oneOf":[{"$ref":"#/components/schemas/RequestCart0"},{"$ref":"#/components/schemas/RequestCart1"},{"$ref":"#/components/schemas/RequestCart2"}],"description":"Cart object used in create cart requests.","title":"requestCart"},"CartsCartIdCurrencyPostParametersIncludeSchemaItems":{"type":"string","enum":["lineItems.physicalItems.options","lineItems.digitalItems.options"],"title":"CartsCartIdCurrencyPostParametersIncludeSchemaItems"},"CartsCartIdItemsPostParametersIncludeSchemaItems":{"type":"string","enum":["lineItems.physicalItems.options","lineItems.digitalItems.options"],"title":"CartsCartIdItemsPostParametersIncludeSchemaItems"},"LineItemsRequest0":{"type":"object","properties":{"lineItems":{"type":"array","items":{"$ref":"#/components/schemas/requestCartPostLineItem"}},"version":{"type":"integer","description":"The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply."}},"required":["lineItems"],"title":"LineItemsRequest0"},"LineItemsRequest1":{"type":"object","properties":{"giftCertificates":{"type":"array","items":{"$ref":"#/components/schemas/requestLineItemGiftCertificate"}},"version":{"type":"integer","description":"The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply."}},"required":["giftCertificates"],"title":"LineItemsRequest1"},"LineItemsRequest2":{"type":"object","properties":{"lineItems":{"type":"array","items":{"$ref":"#/components/schemas/requestCartPostLineItem"}},"giftCertificates":{"type":"array","items":{"$ref":"#/components/schemas/requestLineItemGiftCertificate"}},"version":{"type":"integer","description":"The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply."}},"required":["lineItems","giftCertificates"],"title":"LineItemsRequest2"},"LineItemsRequest":{"oneOf":[{"$ref":"#/components/schemas/LineItemsRequest0"},{"$ref":"#/components/schemas/LineItemsRequest1"},{"$ref":"#/components/schemas/LineItemsRequest2"}],"description":"Cart object used in add items requests.","title":"LineItemsRequest"},"AddCartLineItemRequestConflictError":{"type":"object","properties":{"status":{"type":"integer"},"title":{"type":"string"},"type":{"type":"string"}},"title":"AddCartLineItemRequestConflictError"},"CartsCartIdItemsItemIdPutParametersIncludeSchemaItems":{"type":"string","enum":["lineItems.physicalItems.options","lineItems.digitalItems.options"],"title":"CartsCartIdItemsItemIdPutParametersIncludeSchemaItems"},"RequestLineItemPut0":{"type":"object","properties":{"lineItem":{"$ref":"#/components/schemas/requestCartPostLineItem"},"version":{"type":"integer","description":"The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply."}},"required":["lineItem"],"title":"RequestLineItemPut0"},"RequestLineItemPut1":{"type":"object","properties":{"giftCertificate":{"$ref":"#/components/schemas/requestLineItemGiftCertificate"},"version":{"type":"integer","description":"The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply."}},"title":"RequestLineItemPut1"},"RequestLineItemPut2":{"type":"object","properties":{"lineItem":{"$ref":"#/components/schemas/requestCartPostLineItem"},"giftCertificate":{"$ref":"#/components/schemas/requestLineItemGiftCertificate"},"version":{"type":"integer","description":"The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply."}},"required":["lineItem"],"title":"RequestLineItemPut2"},"requestLineItemPut":{"oneOf":[{"$ref":"#/components/schemas/RequestLineItemPut0"},{"$ref":"#/components/schemas/RequestLineItemPut1"},{"$ref":"#/components/schemas/RequestLineItemPut2"}],"title":"requestLineItemPut"},"UpdateCartLineItemRequestConflictError":{"type":"object","properties":{"status":{"type":"integer"},"title":{"type":"string"},"type":{"type":"string"}},"title":"UpdateCartLineItemRequestConflictError"},"CartsCartIdItemsItemIdDeleteParametersIncludeSchemaItems":{"type":"string","enum":["lineItems.physicalItems.options","lineItems.digitalItems.options"],"title":"CartsCartIdItemsItemIdDeleteParametersIncludeSchemaItems"},"requestLineItemDelete":{"type":"object","properties":{"version":{"type":"integer","description":"The cart version that you expect to apply the updates. If the provided version doesn't match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply."}},"title":"requestLineItemDelete"},"DeleteCartLineItemRequestConflictError":{"type":"object","properties":{"status":{"type":"integer"},"title":{"type":"string"},"type":{"type":"string"}},"title":"DeleteCartLineItemRequestConflictError"}}}}