---
title: "Show Cart"
method: GET
path: "/carts/{cart_id}"
tags: ["Carts"]
---

# Show Cart

`GET /carts/{cart_id}`

## Request

- Base URL: `https://api.liftforward.com`
- URL: `https://api.liftforward.com/carts/{cart_id}`
- Auth: API key in header `Api-Key`

Shows the cart indicated by the provided `cart_id`. This API is only available to merchants using the Partially Hosted Ecommerce Experience.

The Show Cart operation can be called at any time by a merchant to view the current state of the cart. Merchant can obtain the current `cart_id` by calling the Show MerchantCustomer API. Customers can only have 1 cart active at a time. Once the cart is checked out, the customer receives a new empty Cart with a new `cart_id`.

# Cart States

The cart state will change as the customer adds and removes items from the cart and performs other options on the LiftForward site. Below are a few examples of typical cart states:

## Empty Cart

Below is a typical empty cart.
- `can_checkout` is `false` because this customer has not met the requirements to checkout.
- `is_compliant` is `false` because this program requires at least 1 hero product in the cart.
- `compliance_errors` contains an error indicating that a hero product is missing.
- `status` is `draft` because the cart has not been checked out yet.
- All 3 item arrays are empty.
- The cart totals are all $0.00.

```json
{
  "cart": {
    "cart_id": "mcgzsesbntzw4r9dyq5gs3eex2w",
    "merchant_customer_id": "6b1bf54b-c92d-494a-9a19-4e9a8a9879ae",
    "merchant": {
      "source_channel_id": "ONLINE_SHIP_TO_HOME",
      "store_id": null,
      "employee_id": null
    },
    "country_code": "US",
    "created_at": "2024-03-27T20:27:39Z",
    "currency": "USD",
    "total_sale_price": 0.0,
    "total_price": 0.0,
    "total_sales_tax": 0.0,
    "total_installment_payment": 0.0,
    "status": "draft",
    "can_checkout": false,
    "is_compliant": true,
    "compliance_errors": [
      {
        "key": "hero_product_missing"
      }
    ],
    "rental_items": [],
    "finance_items": [],
    "service_items": []
  }
}
```

## Cart with Items

Below is a typical cart once the user has added some items.
- `can_checkout` is `false` because this customer has not met the requirements to checkout.
- `is_compliant` is `false` because this customer has not yet accepted an application with the lender.
- `compliance_errors` contains an error indicating that there is no accepted credit application.
- `status` is `draft` because the cart has not been checked out yet.
- the `rental_items` and `finance_items` have cart items added by the customer.
- The cart totals reflect the sum of the cart items.

```json
{
  "cart": {
    "cart_id": "mcgzsesbntzw4r9dyq5gs3eex2w",
    "merchant_customer_id": "6b1bf54b-c92d-494a-9a19-4e9a8a9879ae",
    "merchant": {
      "source_channel_id": "ONLINE_SHIP_TO_HOME",
      "store_id": null,
      "employee_id": null
    },
    "country_code": "US",
    "created_at": "2024-03-27T20:27:39Z",
    "currency": "USD",
    "total_sale_price": 1139.0,
    "total_price": 1139.0,
    "total_sales_tax": 0.0,
    "total_installment_payment": 31.64,
    "status": "draft",
    "can_checkout": false,
    "is_compliant": false,
    "compliance_errors": [
      {
        "key": "application_not_accepted"
      }
    ],
    "rental_items": [
      {
        "cart_item_id": "dqqpzs2y4kbw42a6y8a3dmd2sfg",
        "product_id": "tablet_model_abc_rent",
        "product_name": "Tablet Model ABC",
        "merchant_sku": "1239diw80d9ckb",
        "unit_retail_price": 1079.0,
        "unit_sale_price": 1079.0,
        "residual_value": 0.0,
        "total_over_term":  1079.0,
        "total_payment_to_buy_out": 1079.0,
        "total_payment_to_trade_in": 1079.0,
        "unit_installment_payment": 29.98,
        "installment_service_fee": 0.0,
        "currency": "USD",
        "installment_count": 36,
        "cart_max_quantity": null,
        "contract_type": "RENT",
        "linked_service_item_ids": [],
        "subscription_plan": {
          "subscription_plan_id": "standard-plan",
          "plan_code": "standard",
          "plan_name": "Standard Plan",
          "plan_subtitle": "This is the basic plan.",
          "plan_summary": "Total financed amount when you upgrade is $1,079 and includes 36 months of payments. T&Cs, fees, charges & exclusions apply."
        }
      }
    ],
    "finance_items": [
      {
        "cart_item_id": "8rw46qspxx824jarx6h4h7sg4ya",
        "product_id": "tablet_headphones_v3_red",
        "product_name": "Tablet Headphones V3 - Red",
        "merchant_sku": "994kjbjslekff3",
        "unit_retail_price": 60.0,
        "unit_sale_price": 60.0,
        "residual_value": 0.0,
        "total_over_term": 60.0,
        "total_payment_to_buy_out": 60.0,
        "total_payment_to_trade_in": 60.0,
        "unit_installment_payment": 1.67,
        "installment_service_fee": 0.0,
        "currency": "USD",
        "installment_count": 36,
        "cart_max_quantity": null,
        "contract_type": "FINANCING",
        "linked_service_item_ids": [],
        "subscription_plan": null
      }
    ],
    "service_items": []
  }
}
```

## Cart Ready for Checkout

Below is a typical cart once the customer has obtained a credit approval from the lender.
- `can_checkout` is `true` because this cart is ready checkout.
- `is_compliant` is `true` because this cart has met all the program requirements.
- `compliance_errors` is empty because there are no errors.
- `status` is `draft` because the cart has not been checked out yet.

```json
{
  "cart": {
    "cart_id": "mcgzsesbntzw4r9dyq5gs3eex2w",
    "merchant_customer_id": "6b1bf54b-c92d-494a-9a19-4e9a8a9879ae",
    "merchant": {
      "source_channel_id": "ONLINE_SHIP_TO_HOME",
      "store_id": null,
      "employee_id": null
    },
    "country_code": "US",
    "created_at": "2024-03-27T20:27:39Z",
    "currency": "USD",
    "total_sale_price": 1139.0,
    "total_price": 1139.0,
    "total_sales_tax": 0.0,
    "total_installment_payment": 31.64,
    "status": "draft",
    "can_checkout": true,
    "is_compliant": true,
    "compliance_errors": [],
    "rental_items": [
      {
        "cart_item_id": "dqqpzs2y4kbw42a6y8a3dmd2sfg",
        "product_id": "tablet_model_abc_rent",
        "product_name": "Tablet Model ABC",
        "merchant_sku": "1239diw80d9ckb",
        "unit_retail_price": 1079.0,
        "unit_sale_price": 1079.0,
        "residual_value": 0.0,
        "total_over_term": 1079.0,
        "total_payment_to_buy_out": 1079.0,
        "total_payment_to_trade_in": 1079.0,
        "unit_installment_payment": 29.98,
        "installment_service_fee": 0.0,
        "currency": "USD",
        "installment_count": 36,
        "cart_max_quantity": null,
        "contract_type": "RENT",
        "linked_service_item_ids": [],
        "subscription_plan": {
          "subscription_plan_id": "standard-plan",
          "plan_code": "standard",
          "plan_name": "Standard Plan",
          "plan_subtitle": "This is the basic plan.",
          "plan_summary": "Total financed amount when you upgrade is $1,079 and includes 36 months of payments. T&Cs, fees, charges & exclusions apply."
        }
      }
    ],
    "finance_items": [
      {
        "cart_item_id": "8rw46qspxx824jarx6h4h7sg4ya",
        "product_id": "tablet_headphones_v3_red",
        "product_name": "Tablet Headphones V3 - Red",
        "merchant_sku": "994kjbjslekff3",
        "unit_retail_price": 60.0,
        "unit_sale_price": 60.0,
        "residual_value": 0.0,
        "total_over_term": 60.0,
        "total_payment_to_buy_out": 60.0,
        "total_payment_to_trade_in": 60.0,
        "unit_installment_payment": 1.67,
        "installment_service_fee": 0.0,
        "currency": "USD",
        "installment_count": 36,
        "cart_max_quantity": null,
        "contract_type": "FINANCING",
        "linked_service_item_ids": [],
        "subscription_plan": null
      }
    ],
    "service_items": []
  }
}
```
## Cart During Async Checkout Process

Below is a typical cart after a merchant has called the cart checkout api and the checkout process is running.
- `can_checkout` is `false` because this cart has already been checked out.
- `is_compliant` is `true` because this cart has met all the program requirements.
- `compliance_errors` is empty because there are no errors.
- `status` is `checkout_in_progress` because the cart checkout is in progress.

```json
{
  "cart": {
    "cart_id": "mcgzsesbntzw4r9dyq5gs3eex2w",
    "merchant_customer_id": "6b1bf54b-c92d-494a-9a19-4e9a8a9879ae",
    "merchant": {
      "source_channel_id": "ONLINE_SHIP_TO_HOME",
      "store_id": null,
      "employee_id": null
    },
    "country_code": "US",
    "created_at": "2024-03-27T20:27:39Z",
    "currency": "USD",
    "total_sale_price": 1139.0,
    "total_price": 1139.0,
    "total_sales_tax": 0.0,
    "total_installment_payment": 31.64,
    "status": "checkout_in_progress",
    "can_checkout": false,
    "is_compliant": true,
    "compliance_errors": [],
    "rental_items": [
      {
        "cart_item_id": "dqqpzs2y4kbw42a6y8a3dmd2sfg",
        "product_id": "tablet_model_abc_rent",
        "product_name": "Tablet Model ABC",
        "merchant_sku": "1239diw80d9ckb",
        "unit_retail_price": 1079.0,
        "unit_sale_price": 1079.0,
        "residual_value": 0.0,
        "total_over_term": 1079.0,
        "total_payment_to_buy_out": 1079.0,
        "total_payment_to_trade_in": 1079.0,
        "unit_installment_payment": 29.98,
        "installment_service_fee": 0.0,
        "currency": "USD",
        "installment_count": 36,
        "cart_max_quantity": null,
        "contract_type": "RENT",
        "linked_service_item_ids": [],
        "subscription_plan": {
          "subscription_plan_id": "standard-plan",
          "plan_code": "standard",
          "plan_name": "Standard Plan",
          "plan_subtitle": "This is the basic plan.",
          "plan_summary": "Total financed amount when you upgrade is $1,079 and includes 36 months of payments. T&Cs, fees, charges & exclusions apply."
        }
      }
    ],
    "finance_items": [
      {
        "cart_item_id": "8rw46qspxx824jarx6h4h7sg4ya",
        "product_id": "tablet_headphones_v3_red",
        "product_name": "Tablet Headphones V3 - Red",
        "merchant_sku": "994kjbjslekff3",
        "unit_retail_price": 60.0,
        "unit_sale_price": 60.0,
        "residual_value": 0.0,
        "total_over_term": 60.0,
        "total_payment_to_buy_out": 60.0,
        "total_payment_to_trade_in": 60.0,
        "unit_installment_payment": 1.67,
        "installment_service_fee": 0.0,
        "currency": "USD",
        "installment_count": 36,
        "cart_max_quantity": null,
        "contract_type": "FINANCING",
        "linked_service_item_ids": [],
        "subscription_plan": null
      }
    ],
    "service_items": []
  }
}
```

## Cart After Checkout

Below is a typical cart after a merchant has called the cart checkout api.
- `can_checkout` is `false` because this cart has already been checked out.
- `is_compliant` is `true` because this cart has met all the program requirements.
- `compliance_errors` is empty because there are no errors.
- `status` is `checkout_complete` because the cart been checked out.

```json
{
  "cart": {
    "cart_id": "mcgzsesbntzw4r9dyq5gs3eex2w",
    "merchant_customer_id": "6b1bf54b-c92d-494a-9a19-4e9a8a9879ae",
    "merchant": {
      "source_channel_id": "ONLINE_SHIP_TO_HOME",
      "store_id": null,
      "employee_id": null
    },
    "country_code": "US",
    "created_at": "2024-03-27T20:27:39Z",
    "currency": "USD",
    "total_sale_price": 1139.0,
    "total_price": 1139.0,
    "total_sales_tax": 0.0,
    "total_installment_payment": 31.64,
    "status": "checkout_complete",
    "can_checkout": false,
    "is_compliant": true,
    "compliance_errors": [],
    "rental_items": [
      {
        "cart_item_id": "dqqpzs2y4kbw42a6y8a3dmd2sfg",
        "product_id": "tablet_model_abc_rent",
        "product_name": "Tablet Model ABC",
        "merchant_sku": "1239diw80d9ckb",
        "unit_retail_price": 1079.0,
        "unit_sale_price": 1079.0,
        "residual_value": 0.0,
        "total_over_term": 1079.0,
        "total_payment_to_buy_out": 1079.0,
        "total_payment_to_trade_in": 1079.0,
        "unit_installment_payment": 29.98,
        "installment_service_fee": 0.0,
        "currency": "USD",
        "installment_count": 36,
        "cart_max_quantity": null,
        "contract_type": "RENT",
        "linked_service_item_ids": [],
        "subscription_plan": {
          "subscription_plan_id": "standard-plan",
          "plan_code": "standard",
          "plan_name": "Standard Plan",
          "plan_subtitle": "This is the basic plan.",
          "plan_summary": "Total financed amount when you upgrade is $1,079 and includes 36 months of payments. T&Cs, fees, charges & exclusions apply."
        }
      }
    ],
    "finance_items": [
      {
        "cart_item_id": "8rw46qspxx824jarx6h4h7sg4ya",
        "product_id": "tablet_headphones_v3_red",
        "product_name": "Tablet Headphones V3 - Red",
        "merchant_sku": "994kjbjslekff3",
        "unit_retail_price": 60.0,
        "unit_sale_price": 60.0,
        "residual_value": 0.0,
        "total_over_term": 60.0,
        "total_payment_to_buy_out": 60.0,
        "total_payment_to_trade_in": 60.0,
        "unit_installment_payment": 1.67,
        "installment_service_fee": 0.0,
        "currency": "USD",
        "installment_count": 36,
        "cart_max_quantity": null,
        "contract_type": "FINANCING",
        "linked_service_item_ids": [],
        "subscription_plan": null
      }
    ],
    "service_items": []
  }
}
```

## Path parameters

- `cart_id` string, required

## Response `200`

Show Cart

- MerchantApiEntitiesCartResponse: MerchantApi_Entities_CartResponse model
  - `cart` CartEntity
    - `cart_id` string, required: Unique identifier for the Cart.
    - `merchant_customer_id` string, required: Unique identifier for customer. Provided by the Merchant on create.
    - `merchant` MerchantApiEntitiesMerchantEntity
      - `source_channel_id` 'IN_STORE' | 'ONLINE_IN_STORE' | 'ONLINE_SHIP_TO_HOME': String identifying the sales channel the order originated from. ONLINE_SHIP_TO_HOME for typical ecommerce, ONLINE_IN_STORE for click and collect, IN_STORE for point of sale.
      - `store_id` string: String to identify merchant's store.
      - `employee_id` string: String to identify merchant's employee who assisted with sale.
      - `merchant_metadata` object: Arbitrary metadata for the session
    - `country_code` string, required: ISO 3166 2-character country code.
    - `created_at` string, required: Date and Time (UTC) the cart was created.
    - `currency` string: ISO 4217 3-character currency code.
    - `total_sale_price` number, float: Total cash value of merchandise specified in the items array.
    - `total_price` number, float: Total amount to be financed for this cart. Should equal sum of total_sale_price, total_sales_tax, total_shipping_fee and total_misc_fees.
    - `total_sales_tax` number, float: Total sales tax for this order.
    - `total_installment_payment` number, float: The sum of installment payment for all items.
    - `status` 'checkout_complete' | 'checkout_failed' | 'checkout_in_progress' | 'checkout_retrying' | 'draft': The status of the cart.
    - `can_checkout` boolean, required: Whether the cart can be checked out.
    - `is_compliant` boolean, required: Whether the cart has compliance errors
    - `compliance_errors` EcommerceApiEntitiesCartComplianceErrorEntity[], required: Compliance errors for the cart
      - `key` 'over_limit' | 'hero_product_missing' | 'hero_quantity_exceeded' | 'max_quantity_exceeded' | 'max_hero_product_count_exceeded' | 'application_declined' | 'application_expired' | 'application_not_accepted' | 'application_canceled' | 'max_premium_plans_exceeded' | 'min_order_total_not_met' | 'accessory_price_exceeded' | 'max_order_total_exceeded' | 'shipping_address_missing' | 'payment_token_missing' | 'sales_quote_expired', required: The key of the compliance error.
      - `type` 'over_limit' | 'hero_product_missing' | 'hero_quantity_exceeded' | 'max_quantity_exceeded' | 'max_hero_product_count_exceeded' | 'application_declined' | 'application_expired' | 'application_not_accepted' | 'application_canceled' | 'max_premium_plans_exceeded' | 'min_order_total_not_met' | 'accessory_price_exceeded' | 'max_order_total_exceeded' | 'shipping_address_missing' | 'payment_token_missing' | 'sales_quote_expired', required: Type of compliance error. .
    - `sales_tax_rates` MerchantApiEntitiesSalesTaxRateEntity[], required: Intended for display purposes only. An array of taxes applicable to this product.
      - `sales_tax_rate_code` 'VAT' | 'GST' | 'HST' | 'PST' | 'QST', required: The unique code for this sales tax rate
      - `rate` number, float, required: Tax rate in decimal
      - `amount` number, float, required: Tax amount in purchase currency
    - `rental_items` CartItemEntity[], required: Cart items with a RENT contract type.
      - `cart_item_id` string, required: Unique identifier for the Cart Item
      - `product_id` string, required: Unique identifier for this Product.
      - `product_name` string, required: Display name for product.
      - `merchant_sku` string, required: Unique SKU identifier for the product.
      - `unit_retail_price` number, double, required: Unit retail price for the item including any typically embedded taxes and fees.
      - `unit_sale_price` number, double, required: Unit price the item should be sold for including any discount or typically embedded taxes and fees.
      - `total_payment_to_buy_out` number, float, required: The total amount the customer must pay before they buy out the item.
      - `total_payment_to_trade_in` number, float, required: The total amount the customer must pay before they can trade in the item.
      - `unit_installment_payment` number, float, required: Amount of each payment customer will make per unit item.
      - `installment_service_fee` number, float, required: Fee customer must pay along with the unit_installment_payment. Used only on some programs.
      - `total_installment_service_fee` number, float, required: Sum of the installment_service_fee over the term of the loan. Used only on some programs.
      - `currency` string, required: ISO 4217 3 character currency code.
      - `installment_count` integer, required: Count of installments (aka payments) for this line item.
      - `cart_max_quantity` integer: Maximum number of these items allowed in the cart at once. Null indicates no limit.
      - `available` boolean, required: Indicates if the product is available for purchase.
      - `inventory_message` string: The message that is displayed on detail page next to the product. For example: “Ships today”, “Ships in 3 weeks” or “Low availability”.
      - `inventory_help_message` string: The message that is displayed to a customer when they hover over the availability help icon on product detail page. For example “Available on mm/dd/yyyy”.
      - `contract_type` 'FINANCING' | 'RENT' | 'SERVICE' | 'SERVICE_SUBSCRIPTION', required: RENT - Rental item purchased with the opportunity to upgrade.\ FINANCE - Item financed with no opportunity to upgrade. \ SERVICE - Service associated with an item.
      - `discontinued` boolean, required: true - indicates the product is no longer available for purchase in the program.\ false - indicates the product is available for purchase in the program.
      - `residual_value_category` string: The residual value category for the product, typically "{model} {processor}". Used to calculate product residual values in some programs. Accepted values are program dependent - LiftForward maintains the list for your program. A product sent with an unrecognised category is still accepted, but carries no residual value and is hidden from the storefront until the category is added.
      - `residual_value` string, required: The total residual value for this line item (unit residual value * quantity).
      - `total_over_term` string, required: The total amount paid over the term of the contract for this line item.
      - `sales_tax_rates` MerchantApiEntitiesSalesTaxRateEntity[], required: Intended for display purposes only. An array of taxes applicable to this product.
        - `sales_tax_rate_code` 'VAT' | 'GST' | 'HST' | 'PST' | 'QST', required: The unique code for this sales tax rate
        - `rate` number, float, required: Tax rate in decimal
        - `amount` number, float, required: Tax amount in purchase currency
      - `linked_service_item_ids` string[], required: Cart Item IDs of services linked to this Cart Item
      - `linked_cart_item_ids` string[], required: Cart Item IDs of products linked to this service Cart Item
      - `subscription_plan` MerchantApiEntitiesSubscriptionPlanEntity
        - `subscription_plan_id` string, required: The unique id for this plan.
        - `program_code` string, required: The program code for the subscription plan.
        - `plan_code` string, required: A short string that identifies the type of plan independent of the installment_count.
        - `plan_name` string, required: A displayable name for this plan.
        - `plan_subtitle` string, required: Promotional copy to display for this plan.
        - `plan_summary` string, required: Longer summary description on the plan and it's benefits
        - `financing_plan_type` 'financing' | 'upgrade', required: The type of financing plan for this product.
    - `finance_items` CartItemEntity[], required: Cart items with a FINANCED contract type.
      - `cart_item_id` string, required: Unique identifier for the Cart Item
      - `product_id` string, required: Unique identifier for this Product.
      - `product_name` string, required: Display name for product.
      - `merchant_sku` string, required: Unique SKU identifier for the product.
      - `unit_retail_price` number, double, required: Unit retail price for the item including any typically embedded taxes and fees.
      - `unit_sale_price` number, double, required: Unit price the item should be sold for including any discount or typically embedded taxes and fees.
      - `total_payment_to_buy_out` number, float, required: The total amount the customer must pay before they buy out the item.
      - `total_payment_to_trade_in` number, float, required: The total amount the customer must pay before they can trade in the item.
      - `unit_installment_payment` number, float, required: Amount of each payment customer will make per unit item.
      - `installment_service_fee` number, float, required: Fee customer must pay along with the unit_installment_payment. Used only on some programs.
      - `total_installment_service_fee` number, float, required: Sum of the installment_service_fee over the term of the loan. Used only on some programs.
      - `currency` string, required: ISO 4217 3 character currency code.
      - `installment_count` integer, required: Count of installments (aka payments) for this line item.
      - `cart_max_quantity` integer: Maximum number of these items allowed in the cart at once. Null indicates no limit.
      - `available` boolean, required: Indicates if the product is available for purchase.
      - `inventory_message` string: The message that is displayed on detail page next to the product. For example: “Ships today”, “Ships in 3 weeks” or “Low availability”.
      - `inventory_help_message` string: The message that is displayed to a customer when they hover over the availability help icon on product detail page. For example “Available on mm/dd/yyyy”.
      - `contract_type` 'FINANCING' | 'RENT' | 'SERVICE' | 'SERVICE_SUBSCRIPTION', required: RENT - Rental item purchased with the opportunity to upgrade.\ FINANCE - Item financed with no opportunity to upgrade. \ SERVICE - Service associated with an item.
      - `discontinued` boolean, required: true - indicates the product is no longer available for purchase in the program.\ false - indicates the product is available for purchase in the program.
      - `residual_value_category` string: The residual value category for the product, typically "{model} {processor}". Used to calculate product residual values in some programs. Accepted values are program dependent - LiftForward maintains the list for your program. A product sent with an unrecognised category is still accepted, but carries no residual value and is hidden from the storefront until the category is added.
      - `residual_value` string, required: The total residual value for this line item (unit residual value * quantity).
      - `total_over_term` string, required: The total amount paid over the term of the contract for this line item.
      - `sales_tax_rates` MerchantApiEntitiesSalesTaxRateEntity[], required: Intended for display purposes only. An array of taxes applicable to this product.
        - `sales_tax_rate_code` 'VAT' | 'GST' | 'HST' | 'PST' | 'QST', required: The unique code for this sales tax rate
        - `rate` number, float, required: Tax rate in decimal
        - `amount` number, float, required: Tax amount in purchase currency
      - `linked_service_item_ids` string[], required: Cart Item IDs of services linked to this Cart Item
      - `linked_cart_item_ids` string[], required: Cart Item IDs of products linked to this service Cart Item
      - `subscription_plan` MerchantApiEntitiesSubscriptionPlanEntity
        - `subscription_plan_id` string, required: The unique id for this plan.
        - `program_code` string, required: The program code for the subscription plan.
        - `plan_code` string, required: A short string that identifies the type of plan independent of the installment_count.
        - `plan_name` string, required: A displayable name for this plan.
        - `plan_subtitle` string, required: Promotional copy to display for this plan.
        - `plan_summary` string, required: Longer summary description on the plan and it's benefits
        - `financing_plan_type` 'financing' | 'upgrade', required: The type of financing plan for this product.
    - `service_items` CartItemEntity[], required: Cart items with a SERVICE contract type.
      - `cart_item_id` string, required: Unique identifier for the Cart Item
      - `product_id` string, required: Unique identifier for this Product.
      - `product_name` string, required: Display name for product.
      - `merchant_sku` string, required: Unique SKU identifier for the product.
      - `unit_retail_price` number, double, required: Unit retail price for the item including any typically embedded taxes and fees.
      - `unit_sale_price` number, double, required: Unit price the item should be sold for including any discount or typically embedded taxes and fees.
      - `total_payment_to_buy_out` number, float, required: The total amount the customer must pay before they buy out the item.
      - `total_payment_to_trade_in` number, float, required: The total amount the customer must pay before they can trade in the item.
      - `unit_installment_payment` number, float, required: Amount of each payment customer will make per unit item.
      - `installment_service_fee` number, float, required: Fee customer must pay along with the unit_installment_payment. Used only on some programs.
      - `total_installment_service_fee` number, float, required: Sum of the installment_service_fee over the term of the loan. Used only on some programs.
      - `currency` string, required: ISO 4217 3 character currency code.
      - `installment_count` integer, required: Count of installments (aka payments) for this line item.
      - `cart_max_quantity` integer: Maximum number of these items allowed in the cart at once. Null indicates no limit.
      - `available` boolean, required: Indicates if the product is available for purchase.
      - `inventory_message` string: The message that is displayed on detail page next to the product. For example: “Ships today”, “Ships in 3 weeks” or “Low availability”.
      - `inventory_help_message` string: The message that is displayed to a customer when they hover over the availability help icon on product detail page. For example “Available on mm/dd/yyyy”.
      - `contract_type` 'FINANCING' | 'RENT' | 'SERVICE' | 'SERVICE_SUBSCRIPTION', required: RENT - Rental item purchased with the opportunity to upgrade.\ FINANCE - Item financed with no opportunity to upgrade. \ SERVICE - Service associated with an item.
      - `discontinued` boolean, required: true - indicates the product is no longer available for purchase in the program.\ false - indicates the product is available for purchase in the program.
      - `residual_value_category` string: The residual value category for the product, typically "{model} {processor}". Used to calculate product residual values in some programs. Accepted values are program dependent - LiftForward maintains the list for your program. A product sent with an unrecognised category is still accepted, but carries no residual value and is hidden from the storefront until the category is added.
      - `residual_value` string, required: The total residual value for this line item (unit residual value * quantity).
      - `total_over_term` string, required: The total amount paid over the term of the contract for this line item.
      - `sales_tax_rates` MerchantApiEntitiesSalesTaxRateEntity[], required: Intended for display purposes only. An array of taxes applicable to this product.
        - `sales_tax_rate_code` 'VAT' | 'GST' | 'HST' | 'PST' | 'QST', required: The unique code for this sales tax rate
        - `rate` number, float, required: Tax rate in decimal
        - `amount` number, float, required: Tax amount in purchase currency
      - `linked_service_item_ids` string[], required: Cart Item IDs of services linked to this Cart Item
      - `linked_cart_item_ids` string[], required: Cart Item IDs of products linked to this service Cart Item
      - `subscription_plan` MerchantApiEntitiesSubscriptionPlanEntity
        - `subscription_plan_id` string, required: The unique id for this plan.
        - `program_code` string, required: The program code for the subscription plan.
        - `plan_code` string, required: A short string that identifies the type of plan independent of the installment_count.
        - `plan_name` string, required: A displayable name for this plan.
        - `plan_subtitle` string, required: Promotional copy to display for this plan.
        - `plan_summary` string, required: Longer summary description on the plan and it's benefits
        - `financing_plan_type` 'financing' | 'upgrade', required: The type of financing plan for this product.

## Other responses

- `401`: Unauthorized
- `405`: Not Allowed
- `408`: Request Time Out
- `500`: Internal Service Error
- `503`: Service Unavailable

---

[API](https://skmtc.dev/liftforward/apis/device-as-a-service-merchant-apis-lift-daas-service-producti.md) - [All operations](https://skmtc.dev/liftforward/apis/device-as-a-service-merchant-apis-lift-daas-service-producti/llms.txt) - [OpenAPI document](https://skmtc.dev/liftforward/apis/device-as-a-service-merchant-apis-lift-daas-service-producti/revisions/5a1383ffd271?raw)
