Finance & ERP
Product stock
The product's current quantity in the ERP and its warehouse breakdown. For direct ERP connections it is read live and cached for 10 minutes (cached, at); for Solk ERP API and Excel connections the last sent / uploaded quantity is returned. force=1 skips the cache. If the product is not matched to an ERP item: stock error.
Authorization
AuthorizationheaderrequiredBearer token: API key (sk_…), OAuth access token (mcp_…) or mobile session (xk_…).
Scope:
crm.readPath parameters
idintegerrequiredProduct id.
Query parameters
forceintegeroptional1 = skip the cache.
Values
1Errors
| HTTP | error | Meaning |
|---|---|---|
400 | stock | Stock could not be read (product not matched to an ERP item, or the ERP did not answer). |
404 | not_found | Record not found. |
Request
curl https://ornek.solk.app/api/v1/products/5/stock \
-H "Authorization: Bearer $SOLK_API_KEY"const res = await fetch("https://ornek.solk.app/api/v1/products/5/stock", {
headers: {
Authorization: `Bearer ${process.env.SOLK_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
"https://ornek.solk.app/api/v1/products/5/stock",
headers={"Authorization": f"Bearer {os.environ['SOLK_API_KEY']}"},
)
print(r.json())Response
{
"ok": true,
"stock": {
"at": "2026-10-09T23:14",
"cached": true,
"code": "HS30",
"conn": "Logo ara katmanı",
"ok": true,
"qty": 5769.0,
"unit": "kg",
"wh": [
{
"n": "Merkez",
"q": 4200.0
}
]
}
}Example responses were captured from a v54 installation running sample data; lists are shortened to two items.