diff --git a/docs/api.yml b/docs/api.yml
index 69c23919b43104ddf0cac009db34194d4ef9cdf1..4faa08bc028a0bd314ff0567a204456911e6d43f 100644
--- a/docs/api.yml
+++ b/docs/api.yml
@@ -285,12 +285,12 @@ paths:
     post:
       tags:
         - measurement
-      summary: Adds a new measurement. Non-existent device or sensor will be created automatically.
-      operationId: addMeasurement
+      summary: Adds multiple measurements. Non-existent device and sensors will be created automatically.
+      operationId: addMeasurements
       security:
         - bearerAuth: []
       requestBody:
-        description: Measurement to add
+        description: Measurements to add
         required: true
         content:
           application/json:
@@ -356,6 +356,34 @@ paths:
               application/json:
                 schema:
                   $ref: '#/components/schemas/ErrorResponse'
+  /measurement:
+    post:
+      tags:
+        - measurement
+      summary: Adds a new measurement for the given sensor.
+      operationId: addMeasurement
+      security:
+        - bearerAuth: []
+      requestBody:
+        description: Measurement to add
+        required: true
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/NewMeasurement'
+      responses:
+        '200':
+          description: success response
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/SuccessResponse'
+        default:
+          description: error response
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorResponse'
 
 components:
   securitySchemes:
@@ -452,10 +480,10 @@ components:
           type: array
           items:
             allOf:
-              - $ref: '#/components/schemas/NewMeasurement'
+              - $ref: '#/components/schemas/NewSensorMeasurement'
               - type: object
 
-    NewMeasurement:
+    NewSensorMeasurement:
       type: object
       required:
         - name
@@ -472,6 +500,19 @@ components:
           type: string
           example: "20.15"
 
+    NewMeasurement:
+      type: object
+      required:
+        - sensor_id
+        - value
+      properties:
+        sensor_id:
+          type: integer
+          example: 1
+        value:
+          type: string
+          example: "20.15"
+
     NewDevice:
       type: object
       required:
diff --git a/src/blueprints/Measurements.py b/src/blueprints/Measurements.py
index 6ddcdf46854768b8c9a948cf42d60ef1e0a24c35..764da8cf628ac976e386c3aaa9fb297e9dd75a94 100644
--- a/src/blueprints/Measurements.py
+++ b/src/blueprints/Measurements.py
@@ -4,7 +4,7 @@ from flask import Blueprint, jsonify, request
 
 from logic.AuthenticationWrapper import require_api_key
 from logic.database.Database import Database
-from logic.Parameters import DeviceParameters, SensorParameters
+from logic.Parameters import DeviceParameters, SensorParameters, MeasurementParameters
 from logic.RequestValidator import RequestValidator, ValidationError
 
 
@@ -23,7 +23,7 @@ def construct_blueprint(settings):
 
     @measurements.route('/measurements', methods=['POST'])
     @require_api_key(password=settings['api']['key'])
-    def add_measurement():
+    def add_multiple_measurements():
         try:
             parameters = RequestValidator.validate(request, DeviceParameters.get_values())
             database = Database(settings['database']['databasePath'])
@@ -58,6 +58,23 @@ def construct_blueprint(settings):
         database.sensorAccess.add_sensor(deviceID, sensorName, sensorType)
         return database.sensorAccess.get_sensor_by_name_and_device_id(deviceID, sensorName)
 
+    @measurements.route('/measurement', methods=['POST'])
+    @require_api_key(password=settings['api']['key'])
+    def add_single_measurement():
+        try:
+            parameters = RequestValidator.validate(request, MeasurementParameters.get_values())
+            database = Database(settings['database']['databasePath'])
+
+            sensorID = parameters[MeasurementParameters.SENSOR_ID.value]
+            if not database.sensorAccess.get_sensor(sensorID):
+                return jsonify({'success': False, 'msg': f'No sensor with id "{sensorID}" existing'})
+
+            database.measurementAccess.add_measurement(sensorID, parameters[SensorParameters.VALUE.value])
+        except ValidationError as e:
+            return e.response, 400
+
+        return jsonify({'success': True})
+
     @measurements.route('/measurement/<int:measurementID>', methods=['DELETE'])
     @require_api_key(password=settings['api']['key'])
     def delete_measurement(measurementID):
diff --git a/src/logic/Parameters.py b/src/logic/Parameters.py
index b9f44789fe1da9f57af48987c876d8f597cdbbd3..a8d66ea6c344dfac48e8613f871abb9e17b9c6bb 100644
--- a/src/logic/Parameters.py
+++ b/src/logic/Parameters.py
@@ -19,3 +19,13 @@ class SensorParameters(Enum):
     @staticmethod
     def get_values():
         return [m.value for m in SensorParameters]
+
+
+class MeasurementParameters(Enum):
+    SENSOR_ID = 'sensor_id'
+    VALUE = 'value'
+
+    @staticmethod
+    def get_values():
+        return [m.value for m in MeasurementParameters]
+