diff --git a/src/Controllers/ParameterController.ts b/src/Controllers/ParameterController.ts
index bf37397b196d8bd1ea56e971e357b85a690416bb..2fc04f00f65704449e2f085cc22ebb5726d6648d 100644
--- a/src/Controllers/ParameterController.ts
+++ b/src/Controllers/ParameterController.ts
@@ -1,83 +1,84 @@
-import {
-  Handler, Request, Response, Router,
-} from 'express';
-import { Validator } from 'express-json-validator-middleware';
-import ParameterType from '../Enum/ParameterType';
-import logger from '../Logger/logger';
-import updateParameterValueBody from '../Schemas/updateParameterValueBody';
-import ParameterService from '../Services/ParameterService';
-
-const router = Router();
-
-const { validate } = new Validator({});
-
-const getParameters: Handler = async (req: Request, res: Response) => {
-  try {
-    const parameters = await ParameterService.getParameters();
-    return res.status(200).send(parameters);
-  } catch (error) {
-    const e = error as Error;
-    logger.info(e.message);
-    return res.status(400).json({ error: e.message });
-  }
-};
-
-const getDefaultWeights: Handler = async (req: Request, res: Response) => {
-  try {
-    const weights = await ParameterService.getDefaultWeights();
-    return res.status(200).send(weights);
-  } catch (error) {
-    const e = error as Error;
-    logger.info(e.message);
-    return res.status(400).json({ error: e.message });
-  }
-};
-
-const getDefaultExtraData: Handler = async (req: Request, res: Response) => {
-  try {
-    const weights = await ParameterService.getDefaultExtraData();
-    return res.status(200).send(weights);
-  } catch (error) {
-    const e = error as Error;
-    logger.info(e.message);
-    return res.status(400).json({ error: e.message });
-  }
-};
-
-const updateParameterValue: Handler = async (req: Request, res: Response) => {
-  const { parameter } = req.body;
-  try {
-    switch (parameter.parameterType) {
-      case ParameterType.DefaultWeight:
-        await ParameterService.updateDefaultWeight(
-          parameter.ageRange, parameter.sex, parameter.value,
-        );
-        break;
-      case ParameterType.MinorPAL:
-      case ParameterType.AdultPAL:
-      case ParameterType.Maternity:
-        await ParameterService.updateExtraData(parameter.id, parameter.value);
-        break;
-      case ParameterType.TEE:
-      case ParameterType.BMR:
-        await ParameterService.updateEquationConstant(
-          parameter.ageRange, parameter.sex, parameter.order, parameter.value,
-        );
-        break;
-      default:
-        break;
-    }
-    return res.status(200).send();
-  } catch (error) {
-    const e = error as Error;
-    logger.info(e.message);
-    return res.status(400).json({ error: e.message });
-  }
-};
-
-router.get('/', getParameters);
-router.post('/weights/', getDefaultWeights);
-router.post('/extraData/', getDefaultExtraData);
-router.put('/parameterUpdate/', validate({ body: updateParameterValueBody }), updateParameterValue);
-
-export default router;
+import {
+  Handler, Request, Response, Router,
+} from 'express';
+import { Validator } from 'express-json-validator-middleware';
+import ParameterType from '../Enum/ParameterType';
+import logger from '../Logger/logger';
+import updateParameterValueBody from '../Schemas/updateParameterValueBody';
+import ParameterService from '../Services/ParameterService';
+
+const router = Router();
+
+const { validate } = new Validator({});
+
+const getParameters: Handler = async (req: Request, res: Response) => {
+  try {
+    const parameters = await ParameterService.getParameters();
+    return res.status(200).send(parameters);
+  } catch (error) {
+    const e = error as Error;
+    logger.info(e.message);
+    return res.status(400).json({ error: e.message });
+  }
+};
+
+const getDefaultWeights: Handler = async (req: Request, res: Response) => {
+  try {
+    const weights = await ParameterService.getDefaultWeights();
+    return res.status(200).send(weights);
+  } catch (error) {
+    const e = error as Error;
+    logger.info(e.message);
+    return res.status(400).json({ error: e.message });
+  }
+};
+
+const getDefaultExtraData: Handler = async (req: Request, res: Response) => {
+  try {
+    const weights = await ParameterService.getDefaultExtraData();
+    return res.status(200).send(weights);
+  } catch (error) {
+    const e = error as Error;
+    logger.info(e.message);
+    return res.status(400).json({ error: e.message });
+  }
+};
+
+const updateParameterValue: Handler = async (req: Request, res: Response) => {
+  const { parameter } = req.body;
+  try {
+    switch (parameter.parameterType) {
+      case ParameterType.DefaultWeight:
+        await ParameterService.updateDefaultWeight(
+          parameter.ageRange, parameter.sex, parameter.value,
+        );
+        break;
+      case ParameterType.MinorPAL:
+      case ParameterType.AdultPAL:
+      case ParameterType.Maternity:
+        await ParameterService.updateExtraData(parameter.id, parameter.value);
+        break;
+      case ParameterType.TEE:
+      case ParameterType.BMR:
+      case ParameterType.GrowthEnergy:
+        await ParameterService.updateEquationConstant(
+          parameter.ageRange, parameter.sex, parameter.order, parameter.value,
+        );
+        break;
+      default:
+        break;
+    }
+    return res.status(200).send();
+  } catch (error) {
+    const e = error as Error;
+    logger.info(e.message);
+    return res.status(400).json({ error: e.message });
+  }
+};
+
+router.get('/', getParameters);
+router.post('/weights/', getDefaultWeights);
+router.post('/extraData/', getDefaultExtraData);
+router.put('/parameterUpdate/', validate({ body: updateParameterValueBody }), updateParameterValue);
+
+export default router;
diff --git a/src/Schemas/updateParameterValueBody.ts b/src/Schemas/updateParameterValueBody.ts
index 538a0c4a94ec0f1f6b57f7cbc1942584196cff5f..d46e0e29c5c0c28b60a10bdf0166bc1b24acfb1f 100644
--- a/src/Schemas/updateParameterValueBody.ts
+++ b/src/Schemas/updateParameterValueBody.ts
@@ -4,8 +4,13 @@ const updateParameterValueBody = {
   properties: {
     parameter: {
       type: 'object' as const,
-      required: ['id', 'value', 'parameterType', 'order', 'description'],
       properties: {
+        ageRange: {
+          type: 'string' as const,
+        },
+        sex: {
+          type: 'string' as const,
+        },
         id: {
           type: 'string' as const,
         },
@@ -22,8 +27,18 @@ const updateParameterValueBody = {
           type: 'string' as const,
         },
       },
+      oneOf: [
+        {
+          required: ['parameterType', 'ageRange', 'sex', 'value'],
+        },
+        {
+          required: ['parameterType', 'id', 'value'],
+        },
+        {
+          required: ['parameterType', 'ageRange', 'sex', 'order', 'value'],
+        },
+      ],
     },
-
   },
 };