Create a medicine
Admin, inventory manager, or branch manager. Adds a medicine and returns the stored row. Every field but the name defaults, so a sparse payload registers a medicine to price later.
POST
/api/v1/medicinesAuthorization
AuthorizationBearer token (JWT) · headerrequiredJWT from POST /api/v1/auth/login sent as Authorization Bearer.
Request body
requiredapplication/jsonnamestringrequiredmin 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
201
Medicine created
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, which includes an empty medicine name
detailstringrequired401
Not authenticated
detailstringrequired403
Caller is not an admin, inventory manager, or branch manager
detailstringrequired