diff --git a/__test__/ParameterService.test.ts b/__test__/ParameterService.test.ts
new file mode 100644
index 0000000000000000000000000000000000000000..86704090172e06f3846fc3acce62928939cfaf2c
--- /dev/null
+++ b/__test__/ParameterService.test.ts
@@ -0,0 +1,21 @@
+import '@testing-library/jest-dom/extend-expect';
+import AgeBracket from '../src/Enum/AgeBracket';
+import Sex from '../src/Enum/Sex';
+import ParameterService from '../src/Services/ParameterService';
+
+describe('Verificar si devuelve los parametros correctamente', () => {
+  it('Pesos por defecto', async () => {
+    expect((await ParameterService.getDefaultWeights()).length).toBe(64);
+  });
+  it('Datos Extra', async () => {
+    expect((await ParameterService.getDefaultExtraData()).length).toBe(13);
+  });
+  it('Constantes de ecuacion', async () => {
+    expect(new Set(await ParameterService.getEquationValues(AgeBracket.a1, Sex.Male)))
+      .toEqual(new Set([310.2, 63.3, -0.263, 13]));
+  });
+  it('Constantes de ecuacion', async () => {
+    expect(new Set(await ParameterService.getEquationValues(AgeBracket.a10, Sex.Female)))
+      .toEqual(new Set([263.4, 65.3, -0.454, 25, -15, 15]));
+  });
+});
diff --git a/package-lock.json b/package-lock.json
index ef892c3b90ccb1701cfb60076883063675e0503f..c85b0b255988303a8be0b33d08b0581455221367 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1850,7 +1850,6 @@
       "version": "1.19.1",
       "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz",
       "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==",
-      "dev": true,
       "requires": {
         "@types/connect": "*",
         "@types/node": "*"
@@ -1860,7 +1859,6 @@
       "version": "3.4.35",
       "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
       "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
-      "dev": true,
       "requires": {
         "@types/node": "*"
       }
@@ -1881,7 +1879,6 @@
       "version": "4.17.13",
       "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz",
       "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==",
-      "dev": true,
       "requires": {
         "@types/body-parser": "*",
         "@types/express-serve-static-core": "^4.17.18",
@@ -1893,7 +1890,6 @@
       "version": "4.17.24",
       "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz",
       "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==",
-      "dev": true,
       "requires": {
         "@types/node": "*",
         "@types/qs": "*",
@@ -1957,8 +1953,7 @@
     "@types/mime": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
-      "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
-      "dev": true
+      "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
     },
     "@types/node": {
       "version": "16.9.6",
@@ -1980,20 +1975,17 @@
     "@types/qs": {
       "version": "6.9.7",
       "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
-      "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
-      "dev": true
+      "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw=="
     },
     "@types/range-parser": {
       "version": "1.2.4",
       "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
-      "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
-      "dev": true
+      "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw=="
     },
     "@types/serve-static": {
       "version": "1.13.10",
       "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz",
       "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==",
-      "dev": true,
       "requires": {
         "@types/mime": "^1",
         "@types/node": "*"
@@ -4217,6 +4209,17 @@
         }
       }
     },
+    "express-json-validator-middleware": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/express-json-validator-middleware/-/express-json-validator-middleware-2.2.1.tgz",
+      "integrity": "sha512-9Y3A6QMNBRLcPmnN1KhsntyT4BKxb6KIhwiaV+y/YlAA/UJnTZTcZ9n0qGSX1LRdtV85YZL44M2d9jAcTW3fHA==",
+      "requires": {
+        "@types/express": "^4.17.3",
+        "@types/express-serve-static-core": "^4.17.2",
+        "@types/json-schema": "^7.0.4",
+        "ajv": "^6.6.2"
+      }
+    },
     "extend-shallow": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
diff --git a/package.json b/package.json
index 9c7997d2e6d751a87f4005705597f35a1f2a1bf7..565f98539672dea43c09a0d6c76f4b02103abef7 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,7 @@
     "cors": "^2.8.5",
     "dotenv": "^10.0.0",
     "express": "^4.17.1",
+    "express-json-validator-middleware": "^2.2.1",
     "gulp-eslint": "^6.0.0",
     "helmet": "^4.6.0",
     "mysql2": "^2.3.0",
diff --git a/src/Config/DBConfig.ts b/src/Config/DBConfig.ts
index ff2e0b593a861d778215770dc47942b5fbae4221..ddd9d64e490508284986414c5e5181364fb75260 100644
--- a/src/Config/DBConfig.ts
+++ b/src/Config/DBConfig.ts
@@ -1,7 +1,7 @@
 export const DBConfig = {
   HOST: 'localhost',
   USER: 'root',
-  PASSWORD: 'rootroot', // antes decia 'password'
+  PASSWORD: 'password', // antes decia 'password'
   DB: 'parameter_database',
   dialect: 'mysql',
 };
diff --git a/src/Controllers/CalculatorController.ts b/src/Controllers/CalculatorController.ts
index 253c559d838140e897019b6e1e4b14339da663d1..91db8387271d961d2b9691c5d8fe151fd206ce3d 100644
--- a/src/Controllers/CalculatorController.ts
+++ b/src/Controllers/CalculatorController.ts
@@ -1,12 +1,16 @@
 import {
   Handler, Request, Response, Router,
 } from 'express';
+import { Validator } from 'express-json-validator-middleware';
 import CalculatorService from '../Services/CalculatorService';
 import CalculatorResponse from '../DTOs/CalculatorResponseDTO';
 import logger from '../Logger/logger';
+import getRepBody from '../Schemas/getRepBody';
 
 const router = Router();
 
+const { validate } = new Validator({});
+
 const getREP: Handler = async (req: Request, res: Response) => {
   const { groups, extraData } = req.body;
   try {
@@ -21,6 +25,6 @@ const getREP: Handler = async (req: Request, res: Response) => {
   }
 };
 
-router.post('/', getREP);
+router.post('/', validate({ body: getRepBody }), getREP);
 
 export default router;
diff --git a/src/Controllers/ParameterController.ts b/src/Controllers/ParameterController.ts
index 72c9fb4f96454c8296b7141ad799c5cd0247ec1b..2fc04f00f65704449e2f085cc22ebb5726d6648d 100644
--- a/src/Controllers/ParameterController.ts
+++ b/src/Controllers/ParameterController.ts
@@ -1,36 +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 });
-  // }
+  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 getParametersOfType: Handler = async (req: Request, res: Response) => {
-  // const { paramType } = req.body;
-  // try {
-  //   const parameters = await ParameterService.getParametersOfType(paramType as ParameterType);
-  //   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 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.post('/', getParameters);
-router.post('/type/', getParametersOfType);
+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/DTOs/DefaultWeightDTO.ts b/src/DTOs/DefaultWeightDTO.ts
index 44ddff68cacf9b4e4a8ec670235a316216c80283..3d316450d19acb5dfc66de798b6ee2cc3432b9c4 100644
--- a/src/DTOs/DefaultWeightDTO.ts
+++ b/src/DTOs/DefaultWeightDTO.ts
@@ -1,10 +1,12 @@
 import AgeBracket from '../Enum/AgeBracket';
+import ParameterType from '../Enum/ParameterType';
 import Sex from '../Enum/Sex';
 
 type DefaultWeightDTO = {
   value: number;
   ageRange: AgeBracket;
   sex: Sex;
+  parameterType: ParameterType;
 };
 
 export default DefaultWeightDTO;
diff --git a/src/DTOs/ParameterWrapperDTO.ts b/src/DTOs/ParameterWrapperDTO.ts
new file mode 100644
index 0000000000000000000000000000000000000000..b43fc4746d6c9f66720c66ab8fdb3066b11816f1
--- /dev/null
+++ b/src/DTOs/ParameterWrapperDTO.ts
@@ -0,0 +1,11 @@
+import DefaultExtraDataDTO from './DefaultExtraDataDTO';
+import DefaultWeightDTO from './DefaultWeightDTO';
+import EquationConstantDTO from './EquationConstantDTO';
+
+type ParameterWrapperDTO = {
+  defaultExtraData: DefaultExtraDataDTO[];
+  defaultWeights: DefaultWeightDTO[];
+  equationConstants: EquationConstantDTO[];
+};
+
+export default ParameterWrapperDTO;
diff --git a/src/Enum/ParameterType.ts b/src/Enum/ParameterType.ts
index 5d8d96ae9f72dfddde392a5ff4e99d63fc4674e3..c26deb19002650e14957e360d72f2f814b380468 100644
--- a/src/Enum/ParameterType.ts
+++ b/src/Enum/ParameterType.ts
@@ -4,7 +4,8 @@ enum ParameterType {
   Maternity = 'Embarazo y lactancia',
   TEE = 'GET',
   BMR = 'TMB',
-  GrowthEnergy = 'Energia para crecimiento'
+  GrowthEnergy = 'Energia para crecimiento',
+  DefaultWeight = 'Peso por defecto',
 }
 
 export default ParameterType;
diff --git a/src/Loaders/CSVParser.ts b/src/Loaders/CSVParser.ts
index a10e1b04ea5d9b64438c3ede7078f277d0a34604..01ffdd85f077ebd872157001cc08739ec02362bf 100644
--- a/src/Loaders/CSVParser.ts
+++ b/src/Loaders/CSVParser.ts
@@ -14,6 +14,7 @@ function csvToDefaultWeight(csv: string): DefaultWeightDTO[] {
       ageRange: fields[0] as AgeBracket,
       value: parseFloat(fields[1]),
       sex: fields[2] as Sex,
+      parameterType: fields[3] as ParameterType,
     });
   });
   parameters.shift();
diff --git a/src/Loaders/DefaultExtraDataLoader.csv b/src/Loaders/DefaultExtraDataLoader.csv
index b1f473da44a3573594cfd01cdc40a6981b9f8912..6d3d247d219216c5ab1a9a00aae4e33825b8f806 100644
--- a/src/Loaders/DefaultExtraDataLoader.csv
+++ b/src/Loaders/DefaultExtraDataLoader.csv
@@ -10,10 +10,10 @@ urbanLowPALPercentage,90,NAF Adultos,0,a
 ruralPopulation,5.3,NAF Adultos,0,a
 ruralActivePALPercentage,50,NAF Adultos,0,a
 ruralLowPALPercentage,50,NAF Adultos,0,a
-urbanActivePALValue,1.85,NAF Adultos,1,a
-urbanLowPALValue,1.55,NAF Adultos,2,a
-ruralActivePALValue,1.95,NAF Adultos,3,a
-ruralLowPALValue,1.65,NAF Adultos,4,a
+ruralActivePALValue,1.95,NAF Adultos,1,a
+ruralLowPALValue,1.65,NAF Adultos,2,a
+urbanActivePALValue,1.85,NAF Adultos,3,a
+urbanLowPALValue,1.55,NAF Adultos,4,a
 countryPopulation,3453691,Embarazo y lactancia,0,a
 18to29FemaleCountryPopulation,315790,Embarazo y lactancia,0,a
 30to59FemaleCountryPopulation,660601,Embarazo y lactancia,0,a
diff --git a/src/Loaders/DefaultWeightLoader.csv b/src/Loaders/DefaultWeightLoader.csv
index 5c7412ec4b3bc4abca68d76a1c8a5a3a5a767b87..32417a4a434e91331302b8a436ca3905f18dc30d 100644
--- a/src/Loaders/DefaultWeightLoader.csv
+++ b/src/Loaders/DefaultWeightLoader.csv
@@ -1,65 +1,65 @@
 age,value,sex
-0 meses,3.3,Masculino
-1 mes,4.5,Masculino
-2 meses,5.6,Masculino
-3 meses,6.4,Masculino
-4 meses,7,Masculino
-5 meses,7.5,Masculino
-6 meses,7.9,Masculino
-7 meses,8.3,Masculino
-8 meses,8.6,Masculino
-9 meses,8.9,Masculino
-10 meses,9.2,Masculino
-11 mes,9.4,Masculino
-1 año,10.9,Masculino
-2 años,13.3,Masculino
-3 años,15.3,Masculino
-4 años,17.3,Masculino
-5 años,19.5,Masculino
-6 años,21.8,Masculino
-7 años,24.2,Masculino
-8 años,26.8,Masculino
-9 años,29.6,Masculino
-10 años,32.9,Masculino
-11 año,36.7,Masculino
-12 años,41.6,Masculino
-13 años,47.4,Masculino
-14 años,53.7,Masculino
-15 años,58.8,Masculino
-16 años,63.1,Masculino
-17 años,66.1,Masculino
-18-29 años,67.4,Masculino
-30-59 años,66.6,Masculino
-60+ años,64.3,Masculino
-0 meses,3.2,Femenino
-1 mes,4.2,Femenino
-2 meses,5.1,Femenino
-3 meses,5.8,Femenino
-4 meses,6.4,Femenino
-5 meses,6.9,Femenino
-6 meses,7.3,Femenino
-7 meses,7.6,Femenino
-8 meses,7.9,Femenino
-9 meses,8.2,Femenino
-10 meses,8.5,Femenino
-11 mes,8.7,Femenino
-1 año,10.2,Femenino
-2 años,12.7,Femenino
-3 años,15,Femenino
-4 años,17.2,Femenino
-5 años,19.1,Femenino
-6 años,21.3,Femenino
-7 años,23.7,Femenino
-8 años,26.7,Femenino
-9 años,29.9,Femenino
-10 años,34,Femenino
-11 año,38.7,Femenino
-12 años,43.6,Femenino
-13 años,48.1,Femenino
-14 años,51.5,Femenino
-15 años,53.9,Femenino
-16 años,55.3,Femenino
-17 años,56.3,Femenino
-18-29 años,57.7,Femenino
-30-59 años,56.3,Femenino
-60+ años,54.2,Femenino
+0 meses,3.3,Masculino,Peso por defecto
+1 meses,4.5,Masculino,Peso por defecto
+2 meses,5.6,Masculino,Peso por defecto
+3 meses,6.4,Masculino,Peso por defecto
+4 meses,7,Masculino,Peso por defecto
+5 meses,7.5,Masculino,Peso por defecto
+6 meses,7.9,Masculino,Peso por defecto
+7 meses,8.3,Masculino,Peso por defecto
+8 meses,8.6,Masculino,Peso por defecto
+9 meses,8.9,Masculino,Peso por defecto
+10 meses,9.2,Masculino,Peso por defecto
+11 meses,9.4,Masculino,Peso por defecto
+1 años,10.9,Masculino,Peso por defecto
+2 años,13.3,Masculino,Peso por defecto
+3 años,15.3,Masculino,Peso por defecto
+4 años,17.3,Masculino,Peso por defecto
+5 años,19.5,Masculino,Peso por defecto
+6 años,21.8,Masculino,Peso por defecto
+7 años,24.2,Masculino,Peso por defecto
+8 años,26.8,Masculino,Peso por defecto
+9 años,29.6,Masculino,Peso por defecto
+10 años,32.9,Masculino,Peso por defecto
+11 años,36.7,Masculino,Peso por defecto
+12 años,41.6,Masculino,Peso por defecto
+13 años,47.4,Masculino,Peso por defecto
+14 años,53.7,Masculino,Peso por defecto
+15 años,58.8,Masculino,Peso por defecto
+16 años,63.1,Masculino,Peso por defecto
+17 años,66.1,Masculino,Peso por defecto
+18-29 años,67.4,Masculino,Peso por defecto
+30-59 años,66.6,Masculino,Peso por defecto
+60+ años,64.3,Masculino,Peso por defecto
+0 meses,3.2,Femenino,Peso por defecto
+1 meses,4.2,Femenino,Peso por defecto
+2 meses,5.1,Femenino,Peso por defecto
+3 meses,5.8,Femenino,Peso por defecto
+4 meses,6.4,Femenino,Peso por defecto
+5 meses,6.9,Femenino,Peso por defecto
+6 meses,7.3,Femenino,Peso por defecto
+7 meses,7.6,Femenino,Peso por defecto
+8 meses,7.9,Femenino,Peso por defecto
+9 meses,8.2,Femenino,Peso por defecto
+10 meses,8.5,Femenino,Peso por defecto
+11 meses,8.7,Femenino,Peso por defecto
+1 años,10.2,Femenino,Peso por defecto
+2 años,12.7,Femenino,Peso por defecto
+3 años,15,Femenino,Peso por defecto
+4 años,17.2,Femenino,Peso por defecto
+5 años,19.1,Femenino,Peso por defecto
+6 años,21.3,Femenino,Peso por defecto
+7 años,23.7,Femenino,Peso por defecto
+8 años,26.7,Femenino,Peso por defecto
+9 años,29.9,Femenino,Peso por defecto
+10 años,34,Femenino,Peso por defecto
+11 años,38.7,Femenino,Peso por defecto
+12 años,43.6,Femenino,Peso por defecto
+13 años,48.1,Femenino,Peso por defecto
+14 años,51.5,Femenino,Peso por defecto
+15 años,53.9,Femenino,Peso por defecto
+16 años,55.3,Femenino,Peso por defecto
+17 años,56.3,Femenino,Peso por defecto
+18-29 años,57.7,Femenino,Peso por defecto
+30-59 años,56.3,Femenino,Peso por defecto
+60+ años,54.2,Femenino,Peso por defecto
diff --git a/src/Loaders/EquationConstantLoader.csv b/src/Loaders/EquationConstantLoader.csv
index 616d7b09162f6bf8d6dedc4fff5209140854be83..ded881c07edfb492f00ad6fec26e3704841a8ef7 100644
--- a/src/Loaders/EquationConstantLoader.csv
+++ b/src/Loaders/EquationConstantLoader.csv
@@ -12,7 +12,7 @@ age,value,parameterType,sex,order,description
 60+ años,9.082,TMB,Femenino,0,a
 60+ años,658.5,TMB,Femenino,1,a
 0 meses,211,Energia para crecimiento,Masculino,2,a
-1 mes,183,Energia para crecimiento,Masculino,2,a
+1 meses,183,Energia para crecimiento,Masculino,2,a
 2 meses,139,Energia para crecimiento,Masculino,2,a
 3 meses,53,Energia para crecimiento,Masculino,2,a
 4 meses,46,Energia para crecimiento,Masculino,2,a
@@ -23,7 +23,7 @@ age,value,parameterType,sex,order,description
 9 meses,21,Energia para crecimiento,Masculino,2,a
 10 meses,21,Energia para crecimiento,Masculino,2,a
 11 meses,22,Energia para crecimiento,Masculino,2,a
-1 año,13,Energia para crecimiento,Masculino,3,a
+1 años,13,Energia para crecimiento,Masculino,3,a
 2 años,12,Energia para crecimiento,Masculino,3,a
 3 años,12,Energia para crecimiento,Masculino,3,a
 4 años,11,Energia para crecimiento,Masculino,3,a
@@ -33,7 +33,7 @@ age,value,parameterType,sex,order,description
 8 años,16,Energia para crecimiento,Masculino,3,a
 9 años,19,Energia para crecimiento,Masculino,3,a
 10 años,22,Energia para crecimiento,Masculino,3,a
-11 año,25,Energia para crecimiento,Masculino,3,a
+11 años,25,Energia para crecimiento,Masculino,3,a
 12 años,29,Energia para crecimiento,Masculino,3,a
 13 años,33,Energia para crecimiento,Masculino,3,a
 14 años,33,Energia para crecimiento,Masculino,3,a
@@ -41,7 +41,7 @@ age,value,parameterType,sex,order,description
 16 años,24,Energia para crecimiento,Masculino,3,a
 17 años,14,Energia para crecimiento,Masculino,3,a
 0 meses,178,Energia para crecimiento,Femenino,2,a
-1 mes,161,Energia para crecimiento,Femenino,2,a
+1 meses,161,Energia para crecimiento,Femenino,2,a
 2 meses,134,Energia para crecimiento,Femenino,2,a
 3 meses,68,Energia para crecimiento,Femenino,2,a
 4 meses,57,Energia para crecimiento,Femenino,2,a
@@ -52,7 +52,7 @@ age,value,parameterType,sex,order,description
 9 meses,18,Energia para crecimiento,Femenino,2,a
 10 meses,15,Energia para crecimiento,Femenino,2,a
 11 meses,14,Energia para crecimiento,Femenino,2,a
-1 año,13,Energia para crecimiento,Femenino,3,a
+1 años,13,Energia para crecimiento,Femenino,3,a
 2 años,13,Energia para crecimiento,Femenino,3,a
 3 años,11,Energia para crecimiento,Femenino,3,a
 4 años,10,Energia para crecimiento,Femenino,3,a
@@ -62,7 +62,7 @@ age,value,parameterType,sex,order,description
 8 años,20,Energia para crecimiento,Femenino,3,a
 9 años,23,Energia para crecimiento,Femenino,3,a
 10 años,25,Energia para crecimiento,Femenino,3,a
-11 año,25,Energia para crecimiento,Femenino,3,a
+11 años,25,Energia para crecimiento,Femenino,3,a
 12 años,26,Energia para crecimiento,Femenino,3,a
 13 años,24,Energia para crecimiento,Femenino,3,a
 14 años,19,Energia para crecimiento,Femenino,3,a
@@ -71,8 +71,8 @@ age,value,parameterType,sex,order,description
 17 años,0,Energia para crecimiento,Femenino,3,a
 0 meses,-152,GET,Masculino,0,a
 0 meses,92.8,GET,Masculino,1,a
-1 mes,-152,GET,Masculino,0,a
-1 mes,92.8,GET,Masculino,1,a
+1 meses,-152,GET,Masculino,0,a
+1 meses,92.8,GET,Masculino,1,a
 2 meses,-152,GET,Masculino,0,a
 2 meses,92.8,GET,Masculino,1,a
 3 meses,-152,GET,Masculino,0,a
@@ -83,8 +83,8 @@ age,value,parameterType,sex,order,description
 5 meses,92.8,GET,Masculino,1,a
 0 meses,-152,GET,Femenino,0,a
 0 meses,92.8,GET,Femenino,1,a
-1 mes,-152,GET,Femenino,0,a
-1 mes,92.8,GET,Femenino,1,a
+1 meses,-152,GET,Femenino,0,a
+1 meses,92.8,GET,Femenino,1,a
 2 meses,-152,GET,Femenino,0,a
 2 meses,92.8,GET,Femenino,1,a
 3 meses,-152,GET,Femenino,0,a
@@ -117,9 +117,9 @@ age,value,parameterType,sex,order,description
 10 meses,88.6,GET,Femenino,1,a
 11 meses,-99.4,GET,Femenino,0,a
 11 meses,88.6,GET,Femenino,1,a
-1 año,310.2,GET,Masculino,0,a
-1 año,63.3,GET,Masculino,1,a
-1 año,-0.263,GET,Masculino,2,a
+1 años,310.2,GET,Masculino,0,a
+1 años,63.3,GET,Masculino,1,a
+1 años,-0.263,GET,Masculino,2,a
 2 años,310.2,GET,Masculino,0,a
 2 años,63.3,GET,Masculino,1,a
 2 años,-0.263,GET,Masculino,2,a
@@ -147,9 +147,9 @@ age,value,parameterType,sex,order,description
 10 años,310.2,GET,Masculino,0,a
 10 años,63.3,GET,Masculino,1,a
 10 años,-0.263,GET,Masculino,2,a
-11 año,310.2,GET,Masculino,0,a
-11 año,63.3,GET,Masculino,1,a
-11 año,-0.263,GET,Masculino,2,a
+11 años,310.2,GET,Masculino,0,a
+11 años,63.3,GET,Masculino,1,a
+11 años,-0.263,GET,Masculino,2,a
 12 años,310.2,GET,Masculino,0,a
 12 años,63.3,GET,Masculino,1,a
 12 años,-0.263,GET,Masculino,2,a
@@ -168,9 +168,9 @@ age,value,parameterType,sex,order,description
 17 años,310.2,GET,Masculino,0,a
 17 años,63.3,GET,Masculino,1,a
 17 años,-0.263,GET,Masculino,2,a
-1 año,263.4,GET,Femenino,0,a
-1 año,65.3,GET,Femenino,1,a
-1 año,-0.454,GET,Femenino,2,a
+1 años,263.4,GET,Femenino,0,a
+1 años,65.3,GET,Femenino,1,a
+1 años,-0.454,GET,Femenino,2,a
 2 años,263.4,GET,Femenino,0,a
 2 años,65.3,GET,Femenino,1,a
 2 años,-0.454,GET,Femenino,2,a
@@ -198,9 +198,9 @@ age,value,parameterType,sex,order,description
 10 años,263.4,GET,Femenino,0,a
 10 años,65.3,GET,Femenino,1,a
 10 años,-0.454,GET,Femenino,2,a
-11 año,263.4,GET,Femenino,0,a
-11 año,65.3,GET,Femenino,1,a
-11 año,-0.454,GET,Femenino,2,a
+11 años,263.4,GET,Femenino,0,a
+11 años,65.3,GET,Femenino,1,a
+11 años,-0.454,GET,Femenino,2,a
 12 años,263.4,GET,Femenino,0,a
 12 años,65.3,GET,Femenino,1,a
 12 años,-0.454,GET,Femenino,2,a
diff --git a/src/Mappers/ParameterMapper.ts b/src/Mappers/ParameterMapper.ts
index 618aba27684426acdaa76ea6edeb0f8132bc7925..bc4be6e102e8b2e7f1b714d4c79e1b547bee98c8 100644
--- a/src/Mappers/ParameterMapper.ts
+++ b/src/Mappers/ParameterMapper.ts
@@ -1,6 +1,7 @@
 import DefaultExtraDataDTO from '../DTOs/DefaultExtraDataDTO';
 import DefaultWeightDTO from '../DTOs/DefaultWeightDTO';
 import EquationConstantDTO from '../DTOs/EquationConstantDTO';
+import ParameterType from '../Enum/ParameterType';
 import DefaultExtraData from '../Models/DefaultExtraData';
 import DefaultWeight from '../Models/DefaultWeight';
 import EquationConstant from '../Models/EquationConstant';
@@ -33,6 +34,7 @@ function defaultWeightToDTO(parameter: DefaultWeight): DefaultWeightDTO {
     value: parameter.value,
     ageRange: parameter.ageRange,
     sex: parameter.sex,
+    parameterType: ParameterType.DefaultWeight,
   };
   return res;
 }
diff --git a/src/Schemas/getRepBody.ts b/src/Schemas/getRepBody.ts
new file mode 100644
index 0000000000000000000000000000000000000000..3eeb9e715be29a113683b565b7a70d89b23d6dbe
--- /dev/null
+++ b/src/Schemas/getRepBody.ts
@@ -0,0 +1,98 @@
+const getRepBody = {
+  type: 'object' as const,
+  required: ['groups', 'extraData'],
+  properties: {
+    groups: {
+      type: 'array' as const,
+      items: {
+        type: 'object' as const,
+        required: ['age', 'sex', 'medianWeight', 'population'],
+        properties: {
+          age: {
+            type: 'string' as const,
+          },
+          sex: {
+            type: 'string' as const,
+          },
+          medianWeight: {
+            type: 'number' as const,
+          },
+          population: {
+            type: 'number' as const,
+          },
+        },
+      },
+    },
+    extraData: {
+      type: 'object' as const,
+      properties: {
+        minorPAL: {
+          type: 'object' as const,
+          required: ['lowPALPrevalence', 'moderatePALPrevalence', 'intensePALPrevalence'],
+          properties: {
+            lowPALPrevalence: {
+              type: 'number' as const,
+            },
+            moderatePALPrevalence: {
+              type: 'number' as const,
+            },
+            intensePALPrevalence: {
+              type: 'number' as const,
+            },
+          },
+        },
+        adultPAL: {
+          type: 'object' as const,
+          required: ['urbanPercentage', 'activeUrbanPAL', 'lowUrbanPAL', 'ruralPercentage', 'activeRuralPAL', 'lowRuralPAL'],
+          properties: {
+            urbanPercentage: { type: 'number' as const },
+            activeUrbanPAL: { type: 'number' as const },
+            lowUrbanPAL: { type: 'number' as const },
+            ruralPercentage: { type: 'number' as const },
+            activeRuralPAL: { type: 'number' as const },
+            lowRuralPAL: { type: 'number' as const },
+          },
+        },
+        maternity18To29: {
+          type: 'object' as const,
+          properties: {
+            pregnantWomen: { type: 'number' as const },
+            lactatingWomen: { type: 'number' as const },
+            countryBirthRate: { type: 'number' as const },
+            countryWomenInAgeGroup: { type: 'number' as const },
+            countryPopulation: { type: 'number' as const },
+          },
+          oneOf: [
+            {
+              required: ['pregnantWomen', 'lactatingWomen'],
+            },
+            {
+              required: ['countryBirthRate', 'countryWomenInAgeGroup', 'countryPopulation'],
+            },
+          ],
+        },
+        maternity30To59: {
+          type: 'object' as const,
+          properties: {
+            pregnantWomen: { type: 'number' as const },
+            lactatingWomen: { type: 'number' as const },
+            countryBirthRate: { type: 'number' as const },
+            countryWomenInAgeGroup: { type: 'number' as const },
+            countryPopulation: { type: 'number' as const },
+          },
+          oneOf: [
+            {
+              required: ['pregnantWomen', 'lactatingWomen'],
+            },
+            {
+              required: ['countryBirthRate', 'countryWomenInAgeGroup', 'countryPopulation'],
+            },
+          ],
+        },
+      },
+    },
+
+  },
+};
+
+export default getRepBody;
diff --git a/src/Schemas/updateParameterValueBody.ts b/src/Schemas/updateParameterValueBody.ts
new file mode 100644
index 0000000000000000000000000000000000000000..d46e0e29c5c0c28b60a10bdf0166bc1b24acfb1f
--- /dev/null
+++ b/src/Schemas/updateParameterValueBody.ts
@@ -0,0 +1,45 @@
+const updateParameterValueBody = {
+  type: 'object' as const,
+  required: ['parameter'],
+  properties: {
+    parameter: {
+      type: 'object' as const,
+      properties: {
+        ageRange: {
+          type: 'string' as const,
+        },
+        sex: {
+          type: 'string' as const,
+        },
+        id: {
+          type: 'string' as const,
+        },
+        value: {
+          type: 'number' as const,
+        },
+        parameterType: {
+          type: 'string' as const,
+        },
+        order: {
+          type: 'number' as const,
+        },
+        description: {
+          type: 'string' as const,
+        },
+      },
+      oneOf: [
+        {
+          required: ['parameterType', 'ageRange', 'sex', 'value'],
+        },
+        {
+          required: ['parameterType', 'id', 'value'],
+        },
+        {
+          required: ['parameterType', 'ageRange', 'sex', 'order', 'value'],
+        },
+      ],
+    },
+  },
+};
+
+export default updateParameterValueBody;
diff --git a/src/Services/ParameterService.ts b/src/Services/ParameterService.ts
index 56dbaeddbcb2be6df22cd3378171c2cae4b49a3e..194cd53ed392969741a397e23e00f4d20bf06ce8 100644
--- a/src/Services/ParameterService.ts
+++ b/src/Services/ParameterService.ts
@@ -6,6 +6,9 @@ import Sex from '../Enum/Sex';
 import ParameterMapper from '../Mappers/ParameterMapper';
 import DefaultExtraData from '../Models/DefaultExtraData';
 import EquationConstant from '../Models/EquationConstant';
+import DefaultWeight from '../Models/DefaultWeight';
+import DefaultWeightDTO from '../DTOs/DefaultWeightDTO';
+import ParameterWrapperDTO from '../DTOs/ParameterWrapperDTO';
 
 const getEquationValues = async (ageBracket: AgeBracket, sex: Sex): Promise<number[]> => {
   const res: number[] = [];
@@ -72,6 +75,7 @@ const getEquationValues = async (ageBracket: AgeBracket, sex: Sex): Promise<numb
               res.push(constant.value);
             });
           });
+        console.log(res);
       } else {
         await DefaultExtraData.findAll({
           where: {
@@ -113,6 +117,7 @@ const getEquationValues = async (ageBracket: AgeBracket, sex: Sex): Promise<numb
               res.push(constant.value);
             });
           });
+        console.log(res);
       } else {
         await DefaultExtraData.findAll({
           where: {
@@ -157,17 +162,104 @@ const getEquationValues = async (ageBracket: AgeBracket, sex: Sex): Promise<numb
   return res;
 };
 
-// const getParameters = async (): Promise<ParameterDTO[]> => {
-// const res: ParameterDTO[] = [];
-// await Parameter.findAll().then((parameters: Parameter[]) => {
-// parameters.forEach((param: Parameter) => {
-// res.push(ParameterMapper.parameterToData(param));
-// });
-//   });
-// return res;
-// };
+const getDefaultWeights = async (): Promise<DefaultWeightDTO[]> => {
+  const res: DefaultWeightDTO[] = [];
+  await DefaultWeight.findAll().then((parameters: DefaultWeight[]) => {
+    parameters.forEach((param: DefaultWeight) => {
+      res.push(ParameterMapper.defaultWeightToDTO(param));
+    });
+  });
+  return res;
+};
 
-export default { getEquationValues /* , getParameters */ };
+const getDefaultExtraData = async (): Promise<DefaultExtraDataDTO[]> => {
+  const res: DefaultExtraDataDTO[] = [];
+  await DefaultExtraData.findAll({
+    where: {
+      order: 0,
+    },
+  }).then((parameters: DefaultExtraData[]) => {
+    parameters.forEach((param: DefaultExtraData) => {
+      res.push(ParameterMapper.defaultExtraDataToDTO(param));
+    });
+  });
+  return res;
+};
+
+const getParameters = async (): Promise<ParameterWrapperDTO> => {
+  const extraData: DefaultExtraDataDTO[] = [];
+  await DefaultExtraData.findAll().then((parameters: DefaultExtraData[]) => {
+    parameters.forEach((param: DefaultExtraData) => {
+      extraData.push(ParameterMapper.defaultExtraDataToDTO(param));
+    });
+  });
+  const equationConstant: EquationConstantDTO[] = [];
+  await EquationConstant.findAll().then((parameters: EquationConstant[]) => {
+    parameters.forEach((param: EquationConstant) => {
+      equationConstant.push(ParameterMapper.equationConstantToDTO(param));
+    });
+  });
+  const defaultWeight: DefaultWeightDTO[] = await getDefaultWeights();
+  const res: ParameterWrapperDTO = {
+    equationConstants: equationConstant,
+    defaultWeights: defaultWeight,
+    defaultExtraData: extraData,
+  };
+  return res;
+};
+
+const updateEquationConstant = async (age: AgeBracket, s: Sex, ord: number, val: number):
+Promise<void> => {
+  await EquationConstant.update(
+    { value: val },
+    {
+      where: {
+        ageRange: age,
+        sex: s,
+        order: ord,
+      },
+    },
+  ).catch((err) => {
+    throw err;
+  });
+};
+
+const updateDefaultWeight = async (age: AgeBracket, s: Sex, val: number): Promise<void> => {
+  await DefaultWeight.update(
+    { value: val },
+    {
+      where: {
+        ageRange: age,
+        sex: s,
+      },
+    },
+  ).catch((err) => {
+    throw err;
+  });
+};
+
+const updateExtraData = async (identifier: string, val: number): Promise<void> => {
+  await DefaultExtraData.update(
+    { value: val },
+    {
+      where: {
+        id: identifier,
+      },
+    },
+  ).catch((err) => {
+    throw err;
+  });
+};
+
+export default {
+  getEquationValues,
+  getDefaultWeights,
+  getDefaultExtraData,
+  getParameters,
+  updateEquationConstant,
+  updateDefaultWeight,
+  updateExtraData,
+};
 
 // const getEquationValues = (ageBracket: AgeBracket, sex: Sex): number[] => {
 //   let res: number[] = [];
diff --git a/src/index.ts b/src/index.ts
index 5e1b1eee04d69cecce52553d37150a793119ac69..64303bbe672c2da8da312ef0a534ecdf10cd65b8 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,5 +1,11 @@
 /* eslint-disable no-console */
-import express, { Application } from 'express';
+import { ValidationError } from 'express-json-validator-middleware';
+import express, {
+  Application,
+  NextFunction,
+  Request,
+  Response,
+} from 'express';
 import 'dotenv/config';
 import cors from 'cors';
 import swaggerUi from 'swagger-ui-express';
@@ -34,6 +40,18 @@ app.use(express.raw({
 
 app.use(Routes);
 
+app.use((error: Error, request: Request, response: Response, next: NextFunction) => {
+  // Check the error is a validation error
+  if (error instanceof ValidationError) {
+    // TODO: Handle error message accordingly
+    response.status(400).send(error.validationErrors.body);
+    next();
+  } else {
+    // Pass error on if not a validation error
+    next(error);
+  }
+});
+
 ParameterDataBaseLoader.initParameterDataBase();
 
 app.listen(PORT, (): void => {
diff --git a/swagger.yaml b/swagger.yaml
index 1adc477fc20beebe342c36d78a08df80e30b3a9f..228a7e12bcb69a3636ab85d3ec34ffcc3bf0629f 100644
--- a/swagger.yaml
+++ b/swagger.yaml
@@ -9,6 +9,7 @@ tags:
   - name: Auth
   - name: Parser
   - name: Calculation
+  - name: Parameters
 paths:
 
   /login:
@@ -63,6 +64,60 @@ paths:
           description: Bad request.
       security:
         - BearerAuth: []
+  /parameters:
+    get:
+      tags:
+        - Parameters
+      summary: Get all parameters
+      responses:
+        '200':
+          description: Ok.
+        '400':
+          description: Bad request.
+      security:
+        - BearerAuth: []
+  /parameters/weights:
+    post:
+      tags:
+        - Parameters
+      summary: Get all default weights
+      responses:
+        '200':
+          description: Ok.
+        '400':
+          description: Bad request.
+      security:
+        - BearerAuth: []
+  /parameters/extraData:
+    post:
+      tags:
+        - Parameters
+      summary: Get all extra data
+      responses:
+        '200':
+          description: Ok.
+        '400':
+          description: Bad request.
+      security:
+        - BearerAuth: []
+  /parameters/parameterUpdate:
+    put:
+      tags:
+        - Parameters
+      summary: Update a certain parameter
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/Parameter'
+        required: true 
+      responses:
+        '200':
+          description: Ok.
+        '400':
+          description: Bad request.
+      security:
+        - BearerAuth: []
 components:
   securitySchemes:
     BearerAuth:
@@ -114,9 +169,9 @@ components:
         sex:
           type: string
         medianWeight:
-          type: string
+          type: number
         population:
-          type: string
+          type: number
       required:
         - age
         - sex
@@ -197,4 +252,64 @@ components:
           $ref: '#/components/schemas/ExtraData'
       required:
         - groups
-        - extraData
\ No newline at end of file
+        - extraData
+    Parameter:
+      properties:
+        parameter:
+          oneOf:
+            - $ref: '#/components/schemas/WeightParameter'
+            - $ref: '#/components/schemas/ExtraDataParameter'
+            - $ref: '#/components/schemas/EquationConstantParameter'
+    WeightParameter:
+      properties:
+        parameterType:
+          type: string
+        ageRange:
+          type: string
+        sex:
+          type: string
+        value:
+          type: number
+      required:
+        - parameterType
+        - ageRange
+        - sex
+        - value
+    ExtraDataParameter:
+      properties:
+        parameterType:
+          type: string
+        id:
+          type: string
+        value:
+          type: number
+        description:
+          type: string
+      required:
+        - parameterType
+        - id
+        - value
+    EquationConstantParameter:
+      properties:
+        parameterType:
+          type: string
+        ageRange:
+          type: string
+        sex:
+          type: string
+        order:
+          type: number
+        value:
+          type: number
+        description:
+          type: string
+      required:
+        - parameterType
+        - ageRange
+        - sex
+        - order
+        - value
+
+            
+            
+        
\ No newline at end of file