Index: TFP-WebServer/MapRendering/MapRendering.csproj
===================================================================
--- TFP-WebServer/MapRendering/MapRendering.csproj	(revision 453)
+++ TFP-WebServer/MapRendering/MapRendering.csproj	(revision 463)
@@ -112,3 +112,7 @@
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="src\Api\Map.openapi.yaml" />
+    <EmbeddedResource Include="src\MapTileHandler.openapi.yaml" />
+  </ItemGroup>
 </Project>
Index: TFP-WebServer/MapRendering/ModInfo.xml
===================================================================
--- TFP-WebServer/MapRendering/ModInfo.xml	(revision 453)
+++ TFP-WebServer/MapRendering/ModInfo.xml	(revision 463)
@@ -5,5 +5,5 @@
 	<Description value="Render the game map to image map tiles as it is uncovered" />
 	<Author value="The Fun Pimps LLC" />
-	<Version value="21.1.9.0" />
+	<Version value="21.1.16.0" />
 	<Website value="" />
 </xml>
Index: TFP-WebServer/MapRendering/src/Api/Map.openapi.yaml
===================================================================
--- TFP-WebServer/MapRendering/src/Api/Map.openapi.yaml	(revision 463)
+++ TFP-WebServer/MapRendering/src/Api/Map.openapi.yaml	(revision 463)
@@ -0,0 +1,53 @@
+openapi: 3.1.0
+info:
+  title: Map
+  version: '1'
+
+components:
+  schemas:
+    MapInfoObject:
+      type: object
+      properties:
+        enabled:
+          type: boolean
+          description: Is map rendering enabled
+        mapBlockSize:
+          type: integer
+          minimum: 2
+          description: Width/height of a single map tile image
+        maxZoom:
+          type: integer
+          description: Maximum supported zoom level on the backend
+        mapSize:
+          $ref: './openapi.yaml#/components/schemas/TypeVector3i'
+          description: Size of the loaded game world
+      required:
+        - enabled
+        - mapBlockSize
+        - maxZoom
+        - mapSize
+
+
+paths:
+  /api/map/config:
+    get:
+      tags:
+        - Map
+      summary: Map info
+      description: Get info about the web map
+      operationId: Map.get.config
+      responses:
+        200:
+          description: Map info
+          content:
+            application/json:
+              schema:
+                type: object
+                properties:
+                  data:
+                    $ref: '#/components/schemas/MapInfoObject'
+                  meta:
+                    $ref: './openapi.yaml#/components/schemas/ResultEnvelopeMeta'
+                required:
+                  - data
+                  - meta
Index: TFP-WebServer/MapRendering/src/MapTileHandler.openapi.yaml
===================================================================
--- TFP-WebServer/MapRendering/src/MapTileHandler.openapi.yaml	(revision 463)
+++ TFP-WebServer/MapRendering/src/MapTileHandler.openapi.yaml	(revision 463)
@@ -0,0 +1,66 @@
+openapi: 3.1.0
+info:
+  title: MapTileHandler
+  version: '1'
+
+components:
+  parameters:
+    ZoomLevelParameter:
+      name: zoom
+      in: path
+      required: true
+      schema:
+        type: integer
+        minimum: 0
+      description: Zoom level, 0 being most zoomed out
+
+    CoordXParameter:
+      name: x
+      in: path
+      required: true
+      schema:
+        type: integer
+      description: X (east/west) index of the tile
+
+    CoordYParameter:
+      name: y
+      in: path
+      required: true
+      schema:
+        type: integer
+      description: Y (north/south) index of the tile
+
+
+paths:
+  /BASEPATH/{zoom}/{x}/{y}.png:
+    get:
+      tags:
+        - Map
+      summary: MapTile get
+      description: Get a map tile for the given zoom level and tile indexes
+      operationId: MapTileHandler.get.name
+      parameters:
+        - $ref: '#/components/parameters/ZoomLevelParameter'
+        - $ref: '#/components/parameters/CoordXParameter'
+        - $ref: '#/components/parameters/CoordYParameter'
+      responses:
+        200:
+          description: Map tile
+          content:
+            image/png:
+              schema:
+                type: string
+                format: binary
+        404:
+          description: Tile not found
+          content:
+            text/plain:
+              schema:
+                type: string
+                const: ''
+        403:
+          $ref: './openapi.yaml#/components/responses/Unauthorized'
+      security:
+        - apiTokenName: []
+          apiTokenSecret: []
+        - sessionCookie: []
Index: TFP-WebServer/MapRendering/src/ModApi.cs
===================================================================
--- TFP-WebServer/MapRendering/src/ModApi.cs	(revision 453)
+++ TFP-WebServer/MapRendering/src/ModApi.cs	(revision 463)
@@ -6,4 +6,6 @@
 	[UsedImplicitly]
 	public class ModApi : IModApi {
+		private const string mapTilesBaseUrl = "/map/";
+		
 		public void InitMod (Mod _modInstance) {
 			ModEvents.GameStartDone.RegisterHandler (GameStartDone);
@@ -14,5 +16,5 @@
 				}
 
-				_web.RegisterPathHandler ("/map/", new StaticHandler (
+				_web.RegisterPathHandler (mapTilesBaseUrl, new StaticHandler (
 					$"{GameIO.GetSaveGameDir ()}/map",
 					MapRenderer.GetTileCache (),
@@ -20,4 +22,6 @@
 					"web.map")
 				);
+
+				_web.OpenApiHelpers.RegisterCustomSpec (GetType ().Assembly, "MapTileHandler", mapTilesBaseUrl);
 			};
 		}
