Index: TFP-WebServer/MarkersMod/src/MarkerData.cs
===================================================================
--- TFP-WebServer/MarkersMod/src/MarkerData.cs	(revision 487)
+++ TFP-WebServer/MarkersMod/src/MarkerData.cs	(revision 487)
@@ -0,0 +1,15 @@
+namespace Examples {
+    public readonly struct MarkerData {
+        public readonly string Id;
+        public readonly Vector2i Position;
+        public readonly string Name;
+        public readonly string Icon;
+
+        public MarkerData (string _id, Vector2i _position, string _name, string _icon) {
+            Id = _id;
+            Position = _position;
+            Name = _name;
+            Icon = _icon;
+        }
+    }
+}
Index: TFP-WebServer/MarkersMod/src/Markers.cs
===================================================================
--- TFP-WebServer/MarkersMod/src/Markers.cs	(revision 460)
+++ TFP-WebServer/MarkersMod/src/Markers.cs	(revision 487)
@@ -15,5 +15,5 @@
 			"https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Blue_question_mark_icon.svg/1200px-Blue_question_mark_icon.svg.png";
 		
-		private readonly Dictionary<string, (int, int, string)> markers = new Dictionary<string, (int, int, string)> ();
+		private readonly Dictionary<string, MarkerData> markers = new Dictionary<string, MarkerData> ();
 
 		public Markers () {
@@ -24,5 +24,6 @@
 				int y = random.RandomRange (-1000, 1001);
 
-				markers.Add (WebUtils.GenerateGuid (), (x, y, null));
+				string guid = WebUtils.GenerateGuid ();
+				markers.Add (guid, new MarkerData(guid, new Vector2i (x, y), "RandomMarker " + i, null));
 			}
 			
@@ -33,4 +34,5 @@
 		private static readonly byte[] jsonKeyX = JsonWriter.GetEncodedPropertyNameWithPrefixValueSeparator ("x");
 		private static readonly byte[] jsonKeyY = JsonWriter.GetEncodedPropertyNameWithPrefixValueSeparator ("y");
+		private static readonly byte[] jsonKeyName = JsonWriter.GetEncodedPropertyNameWithPrefixValueSeparator ("name");
 		private static readonly byte[] jsonKeyIcon = JsonWriter.GetEncodedPropertyNameWithPrefixValueSeparator ("icon");
 
@@ -44,5 +46,5 @@
 
 				bool first = true;
-				foreach ((string markerId, (int, int, string) properties) in markers) {
+				foreach ((_, MarkerData iMarker) in markers) {
 					if (!first) {
 						writer.WriteValueSeparator ();
@@ -51,5 +53,5 @@
 					first = false;
 					
-					writeMarkerJson (ref writer, markerId, properties);
+					writeMarkerJson (ref writer, iMarker);
 				}
 
@@ -59,5 +61,5 @@
 			}
 
-			if (!markers.TryGetValue (id, out (int, int, string) properties2)) {
+			if (!markers.TryGetValue (id, out MarkerData singleMarker)) {
 				writer.WriteRaw (WebUtils.JsonEmptyData);
 				SendEnvelopedResult (_context, ref writer, HttpStatusCode.NotFound);
@@ -68,5 +70,5 @@
 				writer.WriteBeginArray ();
 				
-				writeMarkerJson (ref writer, id, properties2);
+				writeMarkerJson (ref writer, singleMarker);
 				
 				writer.WriteEndArray ();
@@ -75,14 +77,15 @@
 		}
 
-		private void writeMarkerJson (ref JsonWriter _writer, string _markerId, (int, int, string) _properties) {
+		private void writeMarkerJson (ref JsonWriter _writer, MarkerData _marker) {
 			_writer.WriteRaw (jsonKeyId);
-			_writer.WriteString (_markerId);
+			_writer.WriteString (_marker.Id);
 			_writer.WriteRaw (jsonKeyX);
-			(int x, int y, string icon) = _properties;
-			_writer.WriteInt32 (x);
+			_writer.WriteInt32 (_marker.Position.x);
 			_writer.WriteRaw (jsonKeyY);
-			_writer.WriteInt32 (y);
+			_writer.WriteInt32 (_marker.Position.y);
+			_writer.WriteRaw (jsonKeyName);
+			_writer.WriteString (_marker.Name);
 			_writer.WriteRaw (jsonKeyIcon);
-			_writer.WriteString (icon ?? defaultIcon);
+			_writer.WriteString (_marker.Icon ?? defaultIcon);
 			_writer.WriteEndObject ();
 		}
@@ -99,4 +102,9 @@
 			}
 
+			JsonCommons.TryGetJsonField (_jsonInput, "name", out string name);
+			if (string.IsNullOrEmpty (name)) {
+				name = null;
+			}
+
 			JsonCommons.TryGetJsonField (_jsonInput, "icon", out string icon);
 			if (string.IsNullOrEmpty (icon)) {
@@ -105,5 +113,5 @@
 
 			string newId = WebUtils.GenerateGuid ();
-			markers.Add (newId, (x, y, icon));
+			markers.Add (newId, new MarkerData(newId, new Vector2i (x, y), name, icon));
 
 			PrepareEnvelopedResult (out JsonWriter writer);
@@ -123,32 +131,28 @@
 			}
 
-			bool keepIcon = !_jsonInput.TryGetValue ("icon", out _);
-			JsonCommons.TryGetJsonField (_jsonInput, "icon", out string icon);
-			if (string.IsNullOrEmpty (icon)) {
-				icon = null;
-			}
+			bool keepName = !JsonCommons.TryGetJsonField (_jsonInput, "name", out string name);
+
+			bool keepIcon = !JsonCommons.TryGetJsonField (_jsonInput, "icon", out string icon);
 
 			string id = _context.RequestPath;
 
-			if (!markers.TryGetValue (id, out (int, int, string) properties)) {
+			if (!markers.TryGetValue (id, out MarkerData oldMarker)) {
 				SendEmptyResponse (_context, HttpStatusCode.NotFound, _jsonInputData, "ID_NOT_FOUND");
 				return;
 			}
 
+			if (keepName) {
+				name = oldMarker.Name;
+			}
+			
 			if (keepIcon) {
-				icon = properties.Item3;
+				icon = oldMarker.Icon;
 			}
-			markers [id] = (x, y, icon);
+
+			MarkerData updatedMarker = new MarkerData(id, new Vector2i (x, y), name, icon);
+			markers [id] = updatedMarker;
 
 			PrepareEnvelopedResult (out JsonWriter writer);
-			writer.WriteRaw (jsonKeyId);
-			writer.WriteString (id);
-			writer.WriteRaw (jsonKeyX);
-			writer.WriteInt32 (x);
-			writer.WriteRaw (jsonKeyY);
-			writer.WriteInt32 (y);
-			writer.WriteRaw (jsonKeyIcon);
-			writer.WriteString (icon);
-			writer.WriteEndObject ();
+			writeMarkerJson (ref writer, updatedMarker);
 			SendEnvelopedResult (_context, ref writer);
 		}
Index: TFP-WebServer/MarkersMod/src/Markers.openapi.yaml
===================================================================
--- TFP-WebServer/MarkersMod/src/Markers.openapi.yaml	(revision 460)
+++ TFP-WebServer/MarkersMod/src/Markers.openapi.yaml	(revision 487)
@@ -24,4 +24,11 @@
           examples:
             - 321
+        name:
+          type:
+            - string
+            - 'null'
+          examples:
+            - My House
+          description: Name shown with the marker
         icon:
           type:
@@ -36,4 +43,6 @@
         - x
         - y
+        - name
+        - icon
 
     MarkersList:
@@ -58,6 +67,14 @@
                 examples:
                   - 842
+              name:
+                type:
+                  - string
+                  - 'null'
+                examples:
+                  - My House
               icon:
-                type: string
+                type:
+                  - string
+                  - 'null'
                 format: uuid
                 examples:
