---
title: "Show Product"
method: GET
path: "/products/{product_id}"
tags: ["Products"]
---

# Show Product

`GET /products/{product_id}`

## Request

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

Shows the Product identified by the `product_id` path parameter.

Under the `available_subscription_plans` parameter the API will return the Subscription Plans available for the product. SubscriptionPlans may alter the `residual_value`, `installment_count` and other attributes of the products financed pricing.

The Subscription Plan may also include an additional service such as a warranty or a digital service.

## Path parameters

- `product_id` string, required

## Query parameters

- `unit_sale_price` number, double

## Response `200`

Show Product

- ProductResponse: ProductResponse model
  - `product` ProductEntity, required
    - `product_id` string, required: Unique identifier for this Product.
    - `product_name` string, required: Display name for product.
    - `description` string, required: Multi sentence description of the product.
    - `description_list` string, required: Array of strings containing a list of product features.
    - `manufacturer` string, required: The name of the manufacturer of the product.
    - `merchant_detail_page_url` string, required: The URL to the product detail page on the merchant site.
    - `product_image_url` string, required: The URL to the product image.
    - `manufacturer_part_number` string: Manufacturer part number issued by the manufacturer. Either manufacturer_part_number or european_article_number is required when creating a product.
    - `merchant_sku` string, required: Unique SKU identifier for the product.
    - `european_article_number` string: EAN-13 identifier for the product. Either manufacturer_part_number or european_article_number is required when creating a 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.
    - `net_unit_sale_price` number, double, required: The net (excluding any taxes or fees) sale price of the product.
    - `residual_value` number, float, required: The amount this product is expected to be worth at then end of the term.
    - `total_over_term` number, float, required: The total amount the customer will pay over the term of the subscription if the customer choses to keep the item.
    - `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.
    - `inventory_type` 'THRESHOLD' | 'NEVER' | 'ALWAYS' | 'CUSTOM', required: The type of inventory setting used for this product. \ THRESHOLD - Availability changes based on inventory levels. \ ALWAYS - Product is always available. \ NEVER - Product is never available.
    - `available` boolean, required: Indicates if the product is available for purchase.
    - `browsable` boolean, required: Indicates if the product is browsable to customers.
    - `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.
    - `service_type` 'DIGITAL_SERVICE' | 'INSURANCE': Used only when contract_type is SERVICE. Service type indicates the type of service associated with an item. \ DIGITAL_SERVICE - Digital service product associated with an item. \ INSURANCE - Insurance 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.
    - `available_subscription_plans` SubscriptionPlanEntity[]
      - `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.
      - `installment_count` integer, required: Count of installments (aka payments) customer must make for this item.
      - `installment_count_to_trade_in` integer, required: Count of installments (aka payments) customer must make to trade in or upgrade this item.
      - `unit_installment_payment` number, float, required: Amount of each payment customer will make for 1 item under this subscription plan.
      - `installment_payment` number, float, required: Amount of each payment customer will make for all items under this subscription plan. (Deprecated in favor of total_installment_payment)
      - `total_installment_payment` number, float, required: Amount of each payment customer will make for all items under this subscription plan. Same value as installment_payment.
      - `total_over_term` number, float, required: The total amount the customer will pay over the term of the subscription if the customer choses to keep the item.
      - `installment_service_fee` number, float, required: Fee customer must pay along with the unit_installment_payment. Used only on some programs.
      - `residual_value` number, float, required: The amount this product is expected to be worth at then end of the term. (Deprecated in favor of total_residual_value)
      - `total_residual_value` number, float, required: The amount this product is expected to be worth at the end of the term. Same value as residual_value.
      - `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 or upgrade the item.
      - `total_interest` number, float, required: The total interest the customer will pay over the term of the subscription.
      - `apr` number, float, required: The annual percentage rate (APR) for the subscription.
      - `nominal_interest_rate` number, float, required: The nominal interest rate (debit rate) for the subscription.
      - `currency` string, required: ISO 4217 3 character currency code.
    - `categories` ProductCategoryEntity[]: List of categories for the product. At least one category is required. LiftForward will provide a program specific list of values that should be used.
      - `category_name` string, required: The name of the category.
    - `cross_sells` ProductCrossSellEntity[]: Array of cross-sell products recommended with this product. All referenced merchant_sku values must exist in the merchant's catalog. Returns 409 Conflict if any SKUs are not found.
      - `merchant_sku` string, required: Merchant SKU of the cross-sell product. Must exist in the merchant's catalog.

## 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)
