List stock quantities
curl --request GET \
--url https://api.clinikehr.com/v1/clinics/{clinic_id}/inventory/stock \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.clinikehr.com/v1/clinics/{clinic_id}/inventory/stock', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.clinikehr.com/v1/clinics/{clinic_id}/inventory/stock"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"item_id": "9c1e6f2a-9b2b-4a36-8f6a-2f7b1e8b9a02",
"location_id": "6a9f7e3e-2b5a-4a86-8f0d-4a6a2b3c9a11",
"lot_id": "lot_2026_09",
"quantity": "48",
"reserved_quantity": "5",
"expiry_date": "2027-03-01T00:00:00.000Z",
"lot_status": "active",
"as_of": "2026-09-20T10:00:00.000Z"
}
],
"has_more": false,
"next_cursor": null
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}Inventory
List stock quantities
Permission: inventory.stock:read
Exact quantities per location and lot.
For a workspace TEST key this reads the workspace’s seeded synthetic sandbox stock, never a real clinic’s — same shape either way.
GET
/
v1
/
clinics
/
{clinic_id}
/
inventory
/
stock
List stock quantities
curl --request GET \
--url https://api.clinikehr.com/v1/clinics/{clinic_id}/inventory/stock \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.clinikehr.com/v1/clinics/{clinic_id}/inventory/stock', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.clinikehr.com/v1/clinics/{clinic_id}/inventory/stock"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"item_id": "9c1e6f2a-9b2b-4a36-8f6a-2f7b1e8b9a02",
"location_id": "6a9f7e3e-2b5a-4a86-8f0d-4a6a2b3c9a11",
"lot_id": "lot_2026_09",
"quantity": "48",
"reserved_quantity": "5",
"expiry_date": "2027-03-01T00:00:00.000Z",
"lot_status": "active",
"as_of": "2026-09-20T10:00:00.000Z"
}
],
"has_more": false,
"next_cursor": null
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Required range:
1 <= x <= 100