Update a medicine
Admin, inventory manager, or branch manager. Patches editable fields and returns the row. Fields outside the editable set are ignored, and a payload with nothing editable is refused.
PUT
/api/v1/medicines/{medicineId}Authorization
AuthorizationBearer token (JWT) · headerrequiredJWT from POST /api/v1/auth/login sent as Authorization Bearer.
Path parameters
medicineIdstringrequiredThe medicine being updated.
Request body
requiredapplication/jsonnamestringmin length 1
generic_namestringdefault: ""
barcodestringdefault: ""
categorystringdefault: ""
formstringdefault: ""
strengthstringdefault: ""
unitstringdefault: ""
selling_pricestringdefault: "0.000"
low_stock_thresholdintegermin -9007199254740991 · max 9007199254740991 · default: 10
requires_prescriptionbooleandefault: false
is_controlledbooleandefault: false
vat_categorystringdefault: "zero_rated"
requires_cold_chainbooleandefault: false
sfda_registration_nostringdefault: ""
max_public_pricestringdefault: "0.000"
Responses
200
Medicine updated
idstringrequirednamestringrequiredgeneric_namestringrequiredbarcodestringrequiredcategorystringrequiredformstringrequiredstrengthstringrequiredunitstringrequiredselling_pricestringrequiredmax_public_pricestringrequiredstock_quantityintegerrequiredmin -9007199254740991 · max 9007199254740991
low_stock_thresholdintegerrequiredmin -9007199254740991 · max 9007199254740991
requires_prescriptionbooleanrequiredis_controlledbooleanrequiredvat_categorystringrequiredrequires_cold_chainbooleanrequiredsfda_registration_nostringrequiredimage_keystringrequiredimage_urlstringrequiredis_activebooleanrequiredcreated_atstringrequiredupdated_atstringrequired400
The body is invalid, or no updatable field is supplied
detailstringrequired401
Not authenticated
detailstringrequired403
Caller is not an admin, inventory manager, or branch manager
detailstringrequired404
Medicine not found
detailstringrequired