> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# Update Customer Messages

PUT https://your_store.example.com/api/storefront/checkouts/{checkoutId}
Content-Type: application/json

Updates *Checkout* customer messages.

**Limits**

* 2000 character limit

> #### Note
> * Substitute your storefront domain for `yourstore.example.com`. 
> * The Send a Test Request feature is not currently supported for this endpoint.
> * This endpoint runs in the context of an active storefront session and works on any live BigCommerce-hosted storefront, not only in a local environment. It uses [same-origin CORS authentication](/developer/docs/overview/api-fundamentals/api-accounts#same-origin-cors-authentication), and write requests require a CSRF token. Stencil CLI can provide a session and CSRF token for local theme development.

Reference: https://docs.bigcommerce.com/developer/api-reference/rest/storefront/checkouts/update-checkout

## Request

### Path parameters

- `checkoutId` (string, required) — The ID of the subject checkout. Identical to the cart ID.

### Headers

- `Accept` (string, required, default: application/json) — The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.

### Body (application/json)

This endpoint expects a checkout_Put.

- `customerMessage` (string, optional)
- `version` (integer, optional) — 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.

## Response

### 200

OK

- `billingAddress` (address_Base, optional)
- `cart` (checkoutCart, optional) — A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data.
- `channelId` (integer, optional) — Channel ID.
- `consignments` (list of consignment_Full, optional)
- `coupons` (list of CheckoutCoupon, optional) — Coupons applied at the checkout level.
- `fees` (list of CheckoutFee, optional) — Fees applied at the checkout level.
- `createdTime` (string, optional) — Time when the cart was created.
- `customer` (Customer, optional) — Customer details.
- `customerMessage` (string, optional) — Shopperʼs message provided as details for the order to be created from this cart
- `giftCertificates` (list of checkoutGiftCertificates, optional) — Applied gift certificate (as a payment method).
- `giftWrappingCostTotal` (double, optional) — Gift wrapping cost for all items, including or excluding tax.
- `grandTotal` (float, optional) — The total payable amount, before applying any store credit or gift certificate.
- `handlingCostTotal` (float, optional) — Handling cost for all consignments including or excluding tax.
- `id` (string, optional)
- `isStoreCreditApplied` (boolean, optional) — `true` value indicates StoreCredit has been applied.
- `orderId` (string, optional, nullable)
- `outstandingBalance` (double, optional) — `grandTotal` subtract the store-credit amount
- `payments` (list of CheckoutFullPaymentsItems, optional)
- `promotions` (list of CheckoutFullPromotionsItems, optional)
- `shippingCostBeforeDiscount` (float, optional) — Total shipping cost for the checkout before discounts are applied.
- `comparisonShippingCost` (float, optional) — Total shipping cost for the checkout after automatic promotions are applied.
- `shippingCostTotal` (float, optional) — Shipping cost before any discounts are applied.
- `shouldExecuteSpamCheck` (boolean, optional)
- `subtotal` (float, optional) — Subtotal of the checkout before applying item-level discounts. Tax inclusive based on the store settings.
- `taxes` (list of checkoutTax, optional)
- `taxTotal` (float, optional)
- `updatedTime` (string, optional) — Time when the cart was last updated.
- `version` (integer, optional) — The current version of the checkout increments with each successful update. You can use it to enable optimistic concurrency control for subsequent updates.

## Errors

### 409 Conflict Error

Cart conflict

- `status` (integer, optional)
- `title` (string, optional)
- `type` (string, optional)

## Types

### address_Base

- `countryCode` (string, required) — ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
- `address1` (string, optional)
- `address2` (string, optional)
- `city` (string, optional)
- `company` (string, optional)
- `country` (string, optional) — Country name.
- `customFields` (list of customFields, optional)
- `email` (string, optional)
- `firstName` (string, optional)
- `lastName` (string, optional)
- `stateOrProvince` (string, optional) — Represents state or province.
- `stateOrProvinceCode` (string, optional)
- `phone` (string, optional)
- `postalCode` (string, optional)

### checkoutCart

A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data.

- `baseAmount` (double, optional) — Cost of cart’s contents, before applying discounts.
- `cartAmount` (double, optional) — Sum of line-items amounts, minus cart-level discounts and coupons. This amount includes taxes, where applicable.
- `createdTime` (string, optional) — Time when the cart was created.
- `coupons` (list of CartCoupon, optional)
- `currency` (CheckoutCartCurrency, optional) — The currency in which prices are displayed; the store default currency.
- `customerId` (integer, optional) — ID of the customer to which the cart belongs.
- `discountAmount` (double, optional) — Order-based discounted amount only - Excludes coupon discounts and product-based discounts.
- `discounts` (list of CheckoutCartDiscountsItems, optional)
- `email` (string, optional) — The cartʼs email. This is the same email that is used in the billing address.
- `id` (string, optional) — Cart ID, provided after creating a cart with a POST.
- `isTaxIncluded` (boolean, optional) — Boolean representing whether tax information is included.
- `lineItems` (CheckoutCartLineItems, optional)
- `locale` (string, optional) — Shopper's locale.
- `updatedTime` (string, optional) — Time when the cart was last updated.
- `version` (integer, optional) — Cart version.

### consignment_Full

This allows us to have multiple shipping addresses. Where there is only one shipping address, this array will contain only one value, with all the items.

- `address` (address_Full, optional)
- `availableShippingOptions` (list of consignmentAvailableShippingOptions, optional) — This is available only when "include=consignments.availableShippingOptions" is present in the URL.
- `couponDiscounts` (list of ConsignmentFullCouponDiscountsItems, optional) — List of consignment discounts applied through coupons.
- `discounts` (list of ConsignmentFullDiscountsItems, optional) — List of consignment discounts applied through cart level discounts.
- `handlingCost` (double, optional) — The handling cost of shipping for this consignment.
- `id` (string, optional)
- `selectedPickupOption` (PickupOption, optional) — An option that represents a location where customers can pick up items.
- `selectedShippingOption` (ConsignmentFullSelectedShippingOption, optional)
- `shippingCost` (double, optional) — The shipping cost for this consignment.
- `shippingCostBeforeDiscount` (double, optional) — This consignment's shipping cost before discounts are applied.
- `comparisonShippingCost` (double, optional) — This consignment's shipping cost after automatic promotions are applied.
- `lineItemIds` (list of string, optional)
- `shippingAddress` (ConsignmentFullShippingAddress, optional, deprecated) — Use the `address` field instead.

### CheckoutCoupon

- `code` (string, required) — the coupon code
- `id` (integer, optional) — The coupon ID.
- `displayName` (string, optional) — The coupon name displayed on the storefront.
- `couponType` (integer, optional) — |Type `int`|Type Name| |-|-| |`0`|`per_item_discount`| |`1`|`percentage_discount`| |`2`|`per_total_discount`| |`3`|`shipping_discount`| |`4`|`free_shipping`| |`5`|`promotion`|
- `discountedAmount` (double, optional) — The discounted amount applied within a given context.

### CheckoutFee

- `id` (string, optional) — The fee ID.
- `type` (enum, optional) — The type of the fee.
  - Allowed values: `custom_fee`
- `name` (string, optional) — Name of the fee.
- `displayName` (string, optional) — Display name of the fee targeting customers/shoppers.
- `cost` (double, optional) — Cost of the fee (include or exclude tax dependent on tax settings, same as shipping cost).
- `source` (string, optional) — The source of the request.
- `taxClassId` (integer, optional) — The tax class ID.

### Customer

Customer details.

- `addresses` (list of CustomerAddressesItems, optional)
- `customerGroup` (CustomerCustomerGroup, optional)
- `email` (string, optional) — Customer email.
- `firstName` (string, optional) — Customer's first name.
- `fullName` (string, optional) — Customer's full name.
- `id` (integer, optional) — Customer ID.
- `isGuest` (boolean, optional) — Whether the shopper is a guest or a logged-in customer.
- `lastName` (string, optional) — Customer's last name.
- `shouldEncourageSignIn` (boolean, optional)
- `storeCredit` (double, optional) — The amount of store credit a customer has.

### checkoutGiftCertificates

Applied gift certificate (as a payment method).

- `balance` (double, optional)
- `code` (string, optional)
- `purchaseDate` (date, optional)
- `remaining` (double, optional)
- `used` (double, optional)

### CheckoutFullPaymentsItems

- `providerId` (string, optional) — Payment provider ID.
- `gatewayId` (string, optional, nullable) — Payment gateway ID.
- `providerType` (enum, optional) — Type of payment provider.
  - Allowed values: `PAYMENT_TYPE_HOSTED`
- `detail` (list of enum, optional) — Details regarding which checkout steps a shopper has completed.
  - Allowed values: `FINALIZE`, `INITIALIZE`, `ACKNOWLEDGE`

### CheckoutFullPromotionsItems

- `type` (enum, optional)
  - Allowed values: `promotion`, `upsell`, `eligible`, `applied`
- `text` (string, optional) — Text displayed on the storefront for the promotion.

### checkoutTax

- `name` (string, optional) — Name of the tax.
- `amount` (double, optional)

### customFields

When doing a PUT or POST to the `fieldValue` with a pick list, the input must be a number. The response will be a string.

- `fieldId` (string, optional)
- `fieldValue` (string, optional) — This can also be an array for fields that need to support list of values; for example, a set of checkboxes. When doing a PUT or POST to the `fieldValue` with a pick list, the input must be a number. The response will be a string.

### CartCoupon

- `code` (string, required) — the coupon code
- `id` (integer, optional) — The coupon ID.
- `displayName` (string, optional) — The coupon name displayed on the storefront.
- `couponType` (enum, optional) — Key name to identify the type of coupon.
  - Allowed values: `per_item_discount`, `percentage_discount`, `per_total_discount`, `shipping_discount`, `free_shipping`, `promotion`
- `discountedAmount` (double, optional) — The discounted amount applied within a given context.

### CheckoutCartCurrency

The currency in which prices are displayed; the store default currency.

- `code` (string, optional) — ISO-4217 currency code. (See: https://www.iso.org/iso-4217-currency-codes.html.)
- `decimalPlaces` (double, optional) — The number of decimal places for the currency. For example, the USD currency has two decimal places.
- `name` (string, optional) — The currency name.
- `symbol` (string, optional) — The currency symbol.

### CheckoutCartDiscountsItems

- `id` (integer, optional) — Discount ID.
- `discountedAmount` (double, optional) — The discounted amount applied within a given context.

### CheckoutCartLineItems

- `digitalItems` (list of lineItemPhysicalDigital, required)
- `physicalItems` (list of lineItemPhysicalDigital, required)
- `customItems` (list of CheckoutCartLineItemsCustomItemsItems, optional)
- `giftCertificates` (list of CheckoutCartLineItemsGiftCertificatesItems, optional)

### address_Full

- `countryCode` (string, required) — ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
- `address1` (string, optional)
- `address2` (string, optional)
- `city` (string, optional)
- `company` (string, optional)
- `country` (string, optional) — Country name.
- `customFields` (list of customFields, optional)
- `email` (string, optional)
- `firstName` (string, optional)
- `lastName` (string, optional)
- `stateOrProvince` (string, optional) — Represents state or province.
- `stateOrProvinceCode` (string, optional)
- `phone` (string, optional)
- `postalCode` (string, optional)
- `id` (string, optional)
- `shouldSaveAddress` (boolean, optional) — Indicates whether we should add this address to the customer address book.

### consignmentAvailableShippingOptions

- `cost` (double, optional)
- `description` (string, optional) — Read only.
- `id` (string, optional)
- `imageUrl` (string, optional)
- `transitTime` (string, optional) — An estimate of the arrival time.
- `type` (string, optional) — Specifies the type of shipping option; for example, flat rate, UPS, etc.
- `isRecommended` (boolean, optional) — Is this shipping method the recommended shipping option or not.
- `additionalDescription` (string, optional)

### ConsignmentFullCouponDiscountsItems

- `amount` (double, optional)
- `code` (string, optional) — Coupon code that applied this discount.

### ConsignmentFullDiscountsItems

- `id` (string, optional) — Discount rule ID that applied this discount.

### PickupOption

An option that represents a location where customers can pick up items.

- `pickupMethodId` (integer, optional)

### ConsignmentFullSelectedShippingOption

- `description` (string, optional) — Read only.
- `id` (string, optional)
- `type` (string, optional) — Specifies the type of shipping option; for example, flat rate, UPS, etc.
- `imageUrl` (string, optional)
- `cost` (double, optional)
- `transitTime` (string, optional) — An estimate of the arrival time.
- `additionalDescription` (string, optional) — Read only. Field used for Shipping Provider API.

### ConsignmentFullShippingAddress

Use the `address` field instead.

### CustomerAddressesItems

- `id` (integer, optional)
- `firstName` (string, optional)
- `lastName` (string, optional)
- `company` (string, optional)
- `address1` (string, optional)
- `address2` (string, optional)
- `city` (string, optional)
- `stateOrProvince` (string, optional) — State or province.
- `stateOrProvinceCode` (string, optional)
- `countryCode` (string, optional) — [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) for the country.
- `postalCode` (string, optional)
- `phone` (string, optional)
- `type` (string, optional) — Address type.
- `customFields` (list of customFields, optional)

### CustomerCustomerGroup

- `id` (integer, optional) — ID of the customer group.
- `name` (string, optional) — Name of the customer group.

### lineItemPhysicalDigital

- `quantity` (double, required) — Quantity of this item.
- `addedByPromotion` (boolean, optional) — If the item was added automatically by a promotion, such as a coupon or buy one, get one.
- `categoryNames` (list of string, optional)
- `comparisonPrice` (double, optional) — The itemʼs comparison price
- `couponAmount` (double, optional) — The total value of all coupons applied to this item.
- `discounts` (list of LineItemPhysicalDigitalDiscountsItems, optional) — A list of discounts applied to this item, as an array of AppliedDiscount objects.
- `discountAmount` (double, optional) — The total value of all discounts applied to this item (excluding coupon).
- `extendedComparisonPrice` (double, optional) — The itemʼs comparison price multiplied by the quantity.
- `extendedListPrice` (double, optional) — The itemʼs list price multiplied by the quantity.
- `extendedSalePrice` (double, optional) — The itemʼs sale price multiplied by the quantity.
- `giftWrapping` (LineItemPhysicalDigitalGiftWrapping, optional)
- `id` (string, optional) — The line-item ID.
- `imageUrl` (string, optional) — A publicly-accessible URL for an image of this item.
- `isMutable` (boolean, optional)
- `isShippingRequired` (boolean, optional) — Whether this item requires shipping to a physical address.
- `isTaxable` (boolean, optional) — Whether the item is taxable.
- `listPrice` (double, optional) — 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.
- `name` (string, optional) — The itemʼs product name.
- `options` (list of LineItemPhysicalDigitalOptionsItems, optional)
- `originalPrice` (double, optional) — The item’s original price is the same as the product’s default price.
- `parentId` (string, optional) — The product is part of a bundle such as a product pick list, then the parentId or the main product ID will populate.
- `productId` (integer, optional) — ID of the product.
- `sku` (string, optional) — SKU of the variant.
- `stockPosition` (LineItemPhysicalDigitalStockPosition, optional) — Backorder and stock availability details for this line item. Only returned when explicitly requested via `include=cart.lineItems.physicalItems.stockPosition` (or the `digitalItems` equivalent) — not included by default.
- `salePrice` (double, optional) — The itemʼs price after all discounts are applied. The final price before tax calculation.
- `type` (string, optional) — the product type - physical or digital
- `url` (string, optional) — The product URL.
- `variantId` (integer, optional) — ID of the variant.

### CheckoutCartLineItemsCustomItemsItems

Add a custom item to the shoppers cart. * Custom items are not added to the catalog. * The price should be set to match the store settings for taxes.

- `id` (string, optional) — ID of the custom item.
- `listPrice` (string, optional) — 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.
- `name` (string, optional) — Item name.
- `quantity` (string, optional)
- `sku` (string, optional) — Custom item SKU.

### CheckoutCartLineItemsGiftCertificatesItems

- `amount` (double, required) — Value must be between $1.00 and $1,000.00.
- `recipient` (CheckoutCartLineItemsGiftCertificatesItemsRecipient, required)
- `sender` (CheckoutCartLineItemsGiftCertificatesItemsSender, required)
- `theme` (string, required) — Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.
- `id` (string, optional) — Gift certificate identifier
- `message` (string, optional) — Limited to 200 characters.
- `name` (string, optional) — The name of the purchased gift certificate; for example, `$20 Gift Certificate`.
- `taxable` (boolean, optional)
- `type` (string, optional) — Explicitly specifying the gift certificate type.

### LineItemPhysicalDigitalDiscountsItems

- `id` (integer, optional) — Discount ID.
- `discountedAmount` (double, optional) — The discounted amount applied within a given context.

### LineItemPhysicalDigitalGiftWrapping

- `name` (string, optional)
- `message` (string, optional)
- `amount` (double, optional)

### LineItemPhysicalDigitalOptionsItems

- `name` (string, optional) — Option name.
- `nameId` (integer, optional) — Option ID.
- `value` (string, optional) — Option value.
- `valueId` (string, optional) — Option value ID.

### LineItemPhysicalDigitalStockPosition

Backorder and stock availability details for this line item. Only returned when explicitly requested via `include=cart.lineItems.physicalItems.stockPosition` (or the `digitalItems` equivalent) — not included by default.

- `quantityOnHand` (integer, optional) — Number of units currently in stock and available to fulfill this line item without backordering.
- `quantityBackordered` (integer, optional) — Number of units from this line item that are fulfilled via backorder.
- `quantityOutOfStock` (integer, optional) — Number of units from this line item that are out of stock and unavailable for backorder.
- `backorderMessage` (string, optional, nullable) — Backorder messaging shown to the customer for this line item. `null` if no backorder message applies.

### CheckoutCartLineItemsGiftCertificatesItemsRecipient

- `name` (string, optional)
- `email` (string, optional)

### CheckoutCartLineItemsGiftCertificatesItemsSender

- `name` (string, optional)
- `email` (string, optional)

## Examples

**Request**

```json
{}
```

**Response**

```json
{
  "value": {
    "billingAddress": {
      "address1": "123 Main Street",
      "address2": "",
      "city": "Austin",
      "company": "",
      "country": "United States",
      "countryCode": "US",
      "customFields": [
        {
          "fieldId": "field_25",
          "fieldValue": "Leave in backyard"
        }
      ],
      "email": "janedoe@example.com",
      "firstName": "Jane",
      "id": "5ba11e4a10fb5",
      "lastName": "Doe",
      "phone": "1234567890",
      "postalCode": "78751",
      "stateOrProvince": "Texas",
      "stateOrProvinceCode": "TX"
    },
    "cart": {
      "baseAmount": 119.93,
      "cartAmount": 112.93,
      "coupons": [
        {
          "code": "S2549JM0Y",
          "couponType": "per_total_discount",
          "discountedAmount": 5,
          "displayName": "$5.00 off the order total",
          "id": 1
        }
      ],
      "createdTime": "2018-09-18T15:48:26+00:00",
      "currency": {
        "code": "USD",
        "decimalPlaces": 2,
        "name": "US Dollars",
        "symbol": "$"
      },
      "customerId": 11,
      "discountAmount": 0,
      "discounts": [
        {
          "discountedAmount": 2.59,
          "id": 1
        },
        {
          "discountedAmount": 1.06,
          "id": 2
        },
        {
          "discountedAmount": 2.12,
          "id": 3
        },
        {
          "discountedAmount": 0.8,
          "id": 4
        },
        {
          "discountedAmount": 0.43,
          "id": 5
        }
      ],
      "email": "janedoe@example.com",
      "id": "b6fbd994-61a8-4f25-9167-6ec10489c448",
      "isTaxIncluded": false,
      "lineItems": {
        "customItems": [],
        "digitalItems": [
          {
            "addedByPromotion": false,
            "brand": "OFS",
            "categoryNames": [
              "Essentials",
              "Just arrived"
            ],
            "comparisonPrice": 0,
            "couponAmount": 0,
            "discountAmount": 0,
            "discounts": [
              {
                "discountedAmount": 0.8,
                "id": 1
              }
            ],
            "extendedComparisonPrice": 0,
            "extendedListPrice": 18.95,
            "extendedSalePrice": 18.95,
            "id": "6477a4a1-02cf-4287-8bf2-fd043bdd5234",
            "imageUrl": "https://cdn8.bigcommerce.com/s-id30h7ohwf/products/189/images/465/gather_1024x1024__17195__82620.1534344540.330.500.jpg?c=2",
            "isShippingRequired": false,
            "isTaxable": true,
            "listPrice": 18.95,
            "name": "Gather Journal Issue 7 - Digital",
            "options": [
              {
                "name": "Color",
                "nameId": 1,
                "value": "Red",
                "valueId": "2"
              }
            ],
            "originalPrice": 18.95,
            "parentId": "",
            "productId": 189,
            "quantity": 1,
            "salePrice": 18.95,
            "type": "digital",
            "url": "https://{store_domain}/all/gather-journal-issue-7/",
            "variantId": 360
          }
        ],
        "giftCertificates": [
          {
            "amount": 10,
            "id": "871f1f56-4c88-43c3-a6e5-0a647d83d6ac",
            "message": "Thank you!",
            "name": "$10.00 Gift Certificate",
            "recipient": {
              "email": "johndoe@example.com",
              "name": "John Doe"
            },
            "sender": {
              "email": "janedoe@example.com",
              "name": "Jane Doe"
            },
            "taxable": false,
            "theme": "Celebration",
            "type": "giftCertificate"
          }
        ],
        "physicalItems": [
          {
            "addedByPromotion": false,
            "brand": "OFS",
            "categoryNames": [
              "Essentials",
              "Just arrived"
            ],
            "comparisonPrice": 0,
            "couponAmount": 0,
            "discountAmount": 2,
            "discounts": [
              {
                "discountedAmount": 0.59,
                "id": 1
              },
              {
                "discountedAmount": 2,
                "id": 2
              }
            ],
            "extendedComparisonPrice": 0,
            "extendedListPrice": 15.99,
            "extendedSalePrice": 13.99,
            "giftWrapping": {},
            "id": "69791a88-85c9-4c19-8042-e537621e8a55",
            "imageUrl": "https://cdn8.bigcommerce.com/s-id30h7ohwf/products/184/images/445/naturalcanvascart2_1024x1024__92347__29648.1534344533.330.500.jpg?c=2",
            "isShippingRequired": true,
            "isTaxable": true,
            "listPrice": 15.99,
            "name": "Canvas Laundry Cart",
            "options": [
              {
                "name": "Color",
                "nameId": 1,
                "value": "Red",
                "valueId": "2"
              }
            ],
            "originalPrice": 17.99,
            "parentId": "",
            "productId": 184,
            "quantity": 1,
            "salePrice": 13.99,
            "sku": "SMA-RED",
            "url": "https://{store_domain}/all/canvas-laundry-cart/",
            "variantId": 364
          },
          {
            "addedByPromotion": false,
            "brand": "OFS",
            "categoryNames": [
              "Essentials",
              "Just arrived"
            ],
            "comparisonPrice": 0,
            "couponAmount": 0,
            "discountAmount": 0,
            "discounts": [
              {
                "discountedAmount": 1.06,
                "id": 1
              }
            ],
            "extendedComparisonPrice": 0,
            "extendedListPrice": 25,
            "extendedSalePrice": 25,
            "giftWrapping": {},
            "id": "ba2c619d-e6b4-48c2-8809-d88e424ed450",
            "imageUrl": "https://cdn8.bigcommerce.com/s-id30h7ohwf/products/170/images/411/measuringsquares2_1024x1024__07108__95421.1534344522.330.500.jpg?c=2",
            "isShippingRequired": true,
            "isTaxable": true,
            "listPrice": 25,
            "name": "Ceramic Measuring Spoons",
            "options": [
              {
                "name": "Color",
                "nameId": 1,
                "value": "Red",
                "valueId": "2"
              }
            ],
            "originalPrice": 25,
            "parentId": "",
            "productId": 170,
            "quantity": 1,
            "salePrice": 25,
            "sku": "",
            "url": "https://{store_domain}/all/ceramic-measuring-spoons/",
            "variantId": 341
          },
          {
            "addedByPromotion": false,
            "brand": "OFS",
            "categoryNames": [
              "Essentials",
              "Just arrived"
            ],
            "comparisonPrice": 0,
            "couponAmount": 0,
            "discountAmount": 0,
            "discounts": [
              {
                "discountedAmount": 2.12,
                "id": 1
              }
            ],
            "extendedComparisonPrice": 0,
            "extendedListPrice": 49.99,
            "extendedSalePrice": 49.99,
            "giftWrapping": {},
            "id": "c72d6651-978d-45e5-881b-c2bb5f7ff1d5",
            "imageUrl": "https://cdn8.bigcommerce.com/s-id30h7ohwf/products/158/images/382/foglinenbeigestripetowel1b_1024x1024__83011__60806.1534344511.330.500.jpg?c=2",
            "isShippingRequired": true,
            "isTaxable": true,
            "listPrice": 49.99,
            "name": "Chambray Towel",
            "options": [
              {
                "name": "Color",
                "nameId": 1,
                "value": "Red",
                "valueId": "2"
              }
            ],
            "originalPrice": 49.99,
            "parentId": "",
            "productId": 158,
            "quantity": 1,
            "salePrice": 49.99,
            "sku": "SKU-A0C8A203",
            "url": "https://{store_domain}/all/chambray-towel/",
            "variantId": 376
          }
        ]
      },
      "locale": "en",
      "updatedTime": "2018-09-18T16:59:45+00:00",
      "version": 1
    },
    "channelId": 1,
    "comparisonShippingCost": 64.94,
    "consignments": [
      {
        "address": {
          "address1": "123 Main Street",
          "address2": "",
          "city": "Austin",
          "company": "",
          "country": "United States",
          "countryCode": "US",
          "customFields": [
            {
              "fieldId": "field_25",
              "fieldValue": "Leave in backyard"
            }
          ],
          "email": "janedoe@example.com",
          "firstName": "Jane",
          "lastName": "Doe",
          "phone": "1234567890",
          "postalCode": "78751",
          "stateOrProvince": "Texas",
          "stateOrProvinceCode": "TX"
        },
        "availableShippingOptions": [
          {
            "additionalDescription": "Fragile items",
            "cost": 8,
            "description": "Ship by Weight",
            "id": "d09e05c0-3788-44df-a1bb-b6d3afdf6841",
            "imageUrl": "",
            "transitTime": "",
            "type": "shipping_byweight"
          }
        ],
        "comparisonShippingCost": 64.94,
        "couponDiscounts": [],
        "discounts": [],
        "handlingCost": 0,
        "id": "5ba121929619b",
        "lineItemIds": [
          "69791a88-85c9-4c19-8042-e537621e8a55",
          "ba2c619d-e6b4-48c2-8809-d88e424ed450",
          "c72d6651-978d-45e5-881b-c2bb5f7ff1d5"
        ],
        "selectedShippingOption": {
          "additionalDescription": "Fragile items",
          "cost": 69.94,
          "description": "UPS® (UPS Next Day Air®)",
          "id": "bb3c818f-17ce-46fe-9475-65933095da0d",
          "imageUrl": "",
          "transitTime": "1 business day",
          "type": "shipping_upsready"
        },
        "shippingCost": 69.94,
        "shippingCostBeforeDiscount": 69.94
      }
    ],
    "coupons": [
      {
        "code": "S2549JM0Y",
        "couponType": 2,
        "discountedAmount": 5,
        "displayName": "$5.00 off the order total",
        "id": 1
      }
    ],
    "createdTime": "2018-09-18T15:48:26+00:00",
    "customer": {
      "addresses": [
        {}
      ],
      "customerGroup": {
        "id": 1,
        "name": "Wholesale customers"
      },
      "email": "string",
      "firstName": "string",
      "fullName": "string",
      "id": 1,
      "isGuest": false,
      "lastName": "string",
      "shouldEncourageSignIn": false,
      "storeCredit": 1
    },
    "customerMessage": "Thank you, BigCommerce",
    "fees": [
      {
        "cost": 12.02,
        "displayName": "Package Protection Insurance",
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "AAINS",
        "source": "AA",
        "taxClassId": 12,
        "type": "custom_fee"
      }
    ],
    "giftCertificates": [
      {
        "balance": 4,
        "code": "1234ABC",
        "purchaseDate": "string",
        "remaining": 2,
        "used": 5
      }
    ],
    "giftWrappingCostTotal": 0,
    "grandTotal": 211.49,
    "handlingCostTotal": 0,
    "id": "b6fbd994-61a8-4f25-9167-6ec10489c448",
    "isStoreCreditApplied": false,
    "orderId": null,
    "outstandingBalance": 0,
    "payments": [
      {}
    ],
    "promotions": [],
    "shippingCostBeforeDiscount": 69.94,
    "shippingCostTotal": 69.94,
    "shouldExecuteSpamCheck": false,
    "subtotal": 117.93,
    "taxTotal": 28.62,
    "taxes": [
      {
        "amount": 28.62,
        "name": "Store Tax"
      }
    ],
    "updatedTime": "2018-09-18T16:59:45+00:00",
    "version": 1
  }
}
```

**SDK Code**

```python Response
import requests

url = "https://your_store.example.com/api/storefront/checkouts/checkoutId"

payload = {}
headers = {
    "Accept": "application/json",
    "Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.json())
```

```javascript Response
const url = 'https://your_store.example.com/api/storefront/checkouts/checkoutId';
const options = {
  method: 'PUT',
  headers: {Accept: 'application/json', 'Content-Type': 'application/json'},
  body: '{}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Response
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://your_store.example.com/api/storefront/checkouts/checkoutId"

	payload := strings.NewReader("{}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("Accept", "application/json")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Response
require 'uri'
require 'net/http'

url = URI("https://your_store.example.com/api/storefront/checkouts/checkoutId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["Accept"] = 'application/json'
request["Content-Type"] = 'application/json'
request.body = "{}"

response = http.request(request)
puts response.read_body
```

```java Response
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.put("https://your_store.example.com/api/storefront/checkouts/checkoutId")
  .header("Accept", "application/json")
  .header("Content-Type", "application/json")
  .body("{}")
  .asString();
```

```php Response
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://your_store.example.com/api/storefront/checkouts/checkoutId', [
  'body' => '{}',
  'headers' => [
    'Accept' => 'application/json',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Response
using RestSharp;

var client = new RestClient("https://your_store.example.com/api/storefront/checkouts/checkoutId");
var request = new RestRequest(Method.PUT);
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Response
import Foundation

let headers = [
  "Accept": "application/json",
  "Content-Type": "application/json"
]
let parameters = [] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://your_store.example.com/api/storefront/checkouts/checkoutId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```