Inventory Condition History
Get the full condition report history for a specific inventory item across all bookings. Useful for tracking an item's condition over time, identifying chronically problematic items, and supporting insurance claims.
Endpointโ
GET /v1/inventory/{id}/condition-history
Path Parametersโ
| Parameter | Type | Description |
|---|---|---|
id | integer | Product inventory item ID |
Example Requestโ
curl "https://app.equipdash.com/api/v1/inventory/78/condition-history" \
-H "Authorization: Bearer YOUR_API_KEY"
Responseโ
{
"data": [
{
"id": 42,
"booking_id": 130,
"inventory_log_id": 501,
"inventory_id": 78,
"product_id": 12,
"context": "return",
"condition": "damaged",
"condition_label": "Damaged",
"notes": "Deep scratch on hull",
"reported_by": {
"id": 5,
"name": "Mike Johnson"
},
"reported_at": "2026-03-18T16:30:00Z",
"photos": [
{
"id": 5,
"url": "https://app.equipdash.com/storage/conditionReports/scratch1.jpg",
"order": 0
}
],
"created_at": "2026-03-18T16:30:00Z"
},
{
"id": 40,
"booking_id": 130,
"inventory_log_id": 501,
"inventory_id": 78,
"product_id": 12,
"context": "pickup",
"condition": "good",
"condition_label": "Good",
"notes": "Minor surface wear, all functional",
"reported_by": {
"id": 3,
"name": "Sarah Marshall"
},
"reported_at": "2026-03-15T09:00:00Z",
"photos": [],
"created_at": "2026-03-15T09:00:00Z"
}
],
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-03-20T10:00:00Z"
}
}
Notesโ
- Reports are ordered by
reported_atdescending (most recent first) - Requires
products:readAPI scope - Only returns reports for inventory items belonging to your supplier
On the phone app: every unit of a productโ
GET /api/v1/mobile/inventory/products/{id}/condition-history
The phone app's Condition tab reads the history of every unit of a product in one request, with its phone sign-in token instead of an API key. It needs the Manage inventory permission. {id} is the product ID.
The response has one entry per unit, in unit ID order. Each reports list holds the same reports, fields and order as the per-unit endpoint above. A unit with no reports comes back with an empty list. Deleted units are left out.
{
"data": [
{
"inventory_id": 78,
"reports": [
{
"id": 42,
"booking_id": 130,
"inventory_id": 78,
"product_id": 12,
"context": "return",
"condition": "damaged",
"condition_label": "Damaged",
"reported_at": "2026-03-18T16:30:00Z",
"photos": []
}
]
},
{
"inventory_id": 79,
"reports": []
}
],
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-03-20T10:00:00Z"
}
}
The report objects are shortened here; each one has every field shown in the response above. A product from another account returns 404.