diff --git a/README.md b/README.md
index 43ec1ee72072ce83b26c05fc78a656a7154439b0..7a52bf1d5a18d97c12e62c8069a9aaebb5bb25e8 100644
--- a/README.md
+++ b/README.md
@@ -245,6 +245,12 @@ await devkitConnector.AddSensorData(sensorContracts);
 	* `AddSensorData(sensors)` - Add sensor data for multiple sensors in batch mode
 	* `AddSensorData(sensorData)` - Add sensor data for single sensor (in order to do this you need to be **authenticated** as said sensor - this can be avoided when using the batch mode above - [Example](#sensor-data))
 	* `GetSensorAppInfo()` - Get information (version, size) about the sensor app
+* **SensorDatas**
+	* `GetSensorDatas()` - Get all sensor datas
+	* `GetSensorData(id)` - Get sensor data by ID
+	* `AddSensorData(sensorDataContract)` - Add a sensor data with specified properties
+	* `UpdateSensorData(id, sensorDataContract)` - Update an existing sensor data with new properties
+	* `DeleteSensorData(id)` - Delete an existing sensor data by ID
 * **Shifts**
 	* `GetShifts()` - Get all shifts
 	* `GetShift(id)` - Get shift by ID
diff --git a/SDK/Connection/V3/SensorDatas.cs b/SDK/Connection/V3/SensorDatas.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ecc1596a9ce838fde96f512241efa652258f101a
--- /dev/null
+++ b/SDK/Connection/V3/SensorDatas.cs
@@ -0,0 +1,53 @@
+using SDK.Communication;
+using SDK.Exceptions;
+using SDK.Models;
+using System;
+using System.Threading.Tasks;
+
+namespace SDK
+{
+    //(2/2)
+    public partial class DevkitConnectorV3
+    {
+        public async Task<SensorDataContract[]> GetSensorDatas(string queryString = "")
+        {
+            string subUrl = Address.UrlCombine(Address.SensorDatas, queryString);
+            var response = await GetRequest<SensorDataContract[]>(subUrl);
+
+            return response;
+        }
+
+        public async Task<SensorDataContract> GetSensorData(int id, string queryString = "")
+        {
+            string subUrl = Address.UrlCombine(Address.SensorDatas, Convert.ToString(id), queryString);
+            var response = await GetRequest<SensorDataContract>(subUrl);
+
+            return response;
+        }
+
+        public async Task<PostResponseContract> AddSensorData(SensorDataContract shiftContract)
+        {
+            string subUrl = Address.UrlCombine(Address.SensorDatas);
+            var response = await PostRequest<AddSensorDataResponseContract>(subUrl, shiftContract);
+
+            if (response.ErrorMessage != null)
+            {
+                throw new ServerResponseException(ServerResponseException.message + " " + response.ErrorMessage);
+            }
+
+            return response;
+        }
+
+        public async Task UpdateSensorData(int id, object changes)
+        {
+            string subUrl = Address.UrlCombine(Address.SensorDatas, id.ToString());
+            await PatchRequest(subUrl, changes);
+        }
+
+        public async Task DeleteSensorData(int id)
+        {
+            string subUrl = Address.UrlCombine(Address.SensorDatas, Convert.ToString(id));
+            await DeleteRequest(subUrl);
+        }
+    }
+}
diff --git a/SDK/Contracts/Data/SensorDataContract.cs b/SDK/Contracts/Data/SensorDataContract.cs
index 431da93b2e2064de3fa2c0b5e382b098ce66ce13..328ecbe1373c3e49e4759d7e554a362cc199b09b 100644
--- a/SDK/Contracts/Data/SensorDataContract.cs
+++ b/SDK/Contracts/Data/SensorDataContract.cs
@@ -6,6 +6,8 @@ namespace SDK.Models
     {
         public int Id { get; set; }
 
+        public int SensorId { get; set; }
+
         public string Quantity { get; set; }
 
         public string Value { get; set; }
@@ -19,5 +21,7 @@ namespace SDK.Models
         public int Index { get; set; }
 
         public bool VisibleInApp { get; set; }
+
+        public RangeContract Range { get; set; }
     }
 }
diff --git a/SDK/Helpers/Address.cs b/SDK/Helpers/Address.cs
index be67972cd1c0fb4a0e3bf66c145c379bedcccc20..16c08ad034425c4ba52a10e48fcb338270690583 100644
--- a/SDK/Helpers/Address.cs
+++ b/SDK/Helpers/Address.cs
@@ -59,6 +59,8 @@ namespace SDK.Models
         public const string SensorsAddData = "sensors/sensor-data/";
         public const string SensorsLogin = "sensors/login/";
 
+        public const string SensorDatas = "sensor-datas/";
+
         public const string Shifts = "shifts/";
 
         public const string Users = "users/detail";
diff --git a/SDK/SDK.csproj b/SDK/SDK.csproj
index c1c2a0ecd6863341a8005dd51157114f5592282a..b7429ea3831cf20fac4e627b6e37c5a515ae0e2e 100644
--- a/SDK/SDK.csproj
+++ b/SDK/SDK.csproj
@@ -13,7 +13,7 @@
     <TargetFrameworks Condition="'$(TargetFrameworkOverride)' != ''">$(TargetFrameworkOverride)</TargetFrameworks>
     <AssemblyVersion>2021.6.28.25</AssemblyVersion>
     <FileVersion>2021.6.28.25</FileVersion>
-    <Version>5.6.0</Version>
+    <Version>5.7.0</Version>
     <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
   </PropertyGroup>