Get inventory health
curl --request GET \
--url https://api.app.hrizn.io/v1/public/inventory/health \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.app.hrizn.io/v1/public/inventory/health"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.app.hrizn.io/v1/public/inventory/health', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.app.hrizn.io/v1/public/inventory/health', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.app.hrizn.io/v1/public/inventory/health",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"data": {
"total_units": 312,
"analyzed": 312,
"truncated": false,
"mix": { "new": 140, "used": 150, "cpo": 22 },
"pricing": {
"avg_price": 28450,
"median_price": 26990,
"value_tied_up_retail": 8876400
},
"aging": [
{ "label": "0-30 days", "count": 120, "value_tied_up_retail": 3200000 },
{ "label": "31-60 days", "count": 90, "value_tied_up_retail": 2500000 },
{ "label": "61-90 days", "count": 60, "value_tied_up_retail": 1800000 },
{ "label": "90+ days", "count": 42, "value_tied_up_retail": 1376400 }
],
"aged_units_90_plus": 42,
"heavy_models": [
{
"label": "Toyota Camry",
"count": 18,
"avg_days_on_lot": 47,
"avg_price": 27990,
"aged_units": 4
}
],
"merchandising": {
"missing_photos": 8,
"thin_photos": 21,
"missing_description": 54
}
}
}
Inventory health
Lot health snapshot: aging, mix, heavy models, merchandising gaps
GET
/
inventory
/
health
Get inventory health
curl --request GET \
--url https://api.app.hrizn.io/v1/public/inventory/health \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.app.hrizn.io/v1/public/inventory/health"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.app.hrizn.io/v1/public/inventory/health', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.app.hrizn.io/v1/public/inventory/health', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.app.hrizn.io/v1/public/inventory/health",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"data": {
"total_units": 312,
"analyzed": 312,
"truncated": false,
"mix": { "new": 140, "used": 150, "cpo": 22 },
"pricing": {
"avg_price": 28450,
"median_price": 26990,
"value_tied_up_retail": 8876400
},
"aging": [
{ "label": "0-30 days", "count": 120, "value_tied_up_retail": 3200000 },
{ "label": "31-60 days", "count": 90, "value_tied_up_retail": 2500000 },
{ "label": "61-90 days", "count": 60, "value_tied_up_retail": 1800000 },
{ "label": "90+ days", "count": 42, "value_tied_up_retail": 1376400 }
],
"aged_units_90_plus": 42,
"heavy_models": [
{
"label": "Toyota Camry",
"count": 18,
"avg_days_on_lot": 47,
"avg_price": 27990,
"aged_units": 4
}
],
"merchandising": {
"missing_photos": 8,
"thin_photos": 21,
"missing_description": 54
}
}
}
Returns a public-safe used-car desk snapshot of the lot: aging buckets (retail value only), new/used/CPO mix, heavy or overstocked model groups, and merchandising gaps (missing photos or Hrizn AI descriptions).
Scope required:
inventory:read
Aging is computed from instock_date (days in stock). Analysis is capped (currently 2,000 units); truncated is true when the lot is larger.
Dealer cost is never included.
{
"data": {
"total_units": 312,
"analyzed": 312,
"truncated": false,
"mix": { "new": 140, "used": 150, "cpo": 22 },
"pricing": {
"avg_price": 28450,
"median_price": 26990,
"value_tied_up_retail": 8876400
},
"aging": [
{ "label": "0-30 days", "count": 120, "value_tied_up_retail": 3200000 },
{ "label": "31-60 days", "count": 90, "value_tied_up_retail": 2500000 },
{ "label": "61-90 days", "count": 60, "value_tied_up_retail": 1800000 },
{ "label": "90+ days", "count": 42, "value_tied_up_retail": 1376400 }
],
"aged_units_90_plus": 42,
"heavy_models": [
{
"label": "Toyota Camry",
"count": 18,
"avg_days_on_lot": 47,
"avg_price": 27990,
"aged_units": 4
}
],
"merchandising": {
"missing_photos": 8,
"thin_photos": 21,
"missing_description": 54
}
}
}
Authorizations
Your Hrizn API key (prefix hzk_)
Response
Inventory health snapshot
Hide child attributes
Hide child attributes
Last modified on July 26, 2026
⌘I
