Core concepts
Pricing
The HLC API provides multiple price types to support both wholesale dealer costs and retail consumer pricing scenarios.
Overview
Price types are categorized as either wholesale or retail:
- Wholesale prices determine dealer purchase costs and vary based on promotional programs, closeout status, and dealer agreements
- Retail prices provide manufacturer guidance for consumer-facing pricing strategies
When multiple wholesale prices are available for a product, the API automatically returns the lowest applicable price for the authenticated dealer.
Price Type Reference
| Price Type ID | Name | Description | Category |
|---|---|---|---|
| 0 | Base | Standard wholesale cost | wholesale |
| 1 | Sale | Promotional wholesale pricing | wholesale |
| 2 | Closeout | Discounted pricing for discontinued or clearance inventory | wholesale |
| 3 | MAP | Minimum Advertised Price - lowest allowable advertised price | retail |
| 4 | MSRP | Manufacturer's Suggested Retail Price | retail |
| 5 | Program | Special pricing for dealers enrolled in manufacturer programs | wholesale |
Wholesale Pricing (Dealer Costs)
Wholesale prices (types 0, 1, 2, 5) determine the dealer's purchase cost:
- Base (0): Standard wholesale pricing applied to regular inventory orders
- Sale (1): Time-limited promotional pricing, typically associated with manufacturer sales events
- Closeout (2): Reduced pricing for end-of-life, discontinued, or overstocked items
- Program (5): Preferential pricing available to dealers participating in volume commitment programs, loyalty tiers, or exclusive partnerships
Pricing Logic: When multiple wholesale prices exist for a SKU, the system automatically applies the lowest price. Dealers are always charged the most favorable wholesale rate available to their account.
Retail Pricing (Consumer Guidance)
Retail prices (types 3, 4) provide manufacturer recommendations for consumer-facing pricing:
- MAP (3): The minimum price at which a product may be publicly advertised. Actual transaction prices can be lower but cannot be advertised below this threshold
- MSRP (4): The manufacturer's recommended selling price to consumers. Dealers may price above or below MSRP at their discretion
Important: Retail prices are informational only and do not affect dealer purchase costs or order totals.
API Implementation
Retrieving Specific Price Types
Filter price results by passing comma-separated price type IDs to the prices query parameter:
const apiUrl = 'https://api.hlc.bike/us/v4.1'
const apiKey = process.env.HLC_API_KEY
// Request wholesale prices only (Base, Sale, Closeout, Program)
const response = await fetch(
`${apiUrl}/Catalog/Products/Prices?sku=020056-07&prices=0,1,2,5`,
{
headers: {
'ApiKey': apiKey,
'language': 'en',
},
}
)
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`)
}
const wholesalePrices = await response.json()
console.log('Dealer cost:', Math.min(...wholesalePrices.map(p => p.price)))
Retrieving All Price Types
Omit the prices parameter to retrieve all available price types:
const response = await fetch(
`${apiUrl}/Catalog/Products/Prices?sku=020056-07`,
{
headers: {
'ApiKey': apiKey,
'language': 'en',
},
}
)
const allPrices = await response.json()
// Separate wholesale and retail pricing
const wholesale = allPrices.filter(p => [0, 1, 2, 5].includes(p.priceTypeId))
const retail = allPrices.filter(p => [3, 4].includes(p.priceTypeId))
Price Validation
Always validate final order pricing using the /Orders/Prices endpoint before order submission. This endpoint accounts for cart-level discounts, volume pricing, shipping costs, taxes, and other adjustments not reflected in individual product prices.