Index: TFP-WebServer/WebServer/ModInfo.xml
===================================================================
--- TFP-WebServer/WebServer/ModInfo.xml	(revision 485)
+++ TFP-WebServer/WebServer/ModInfo.xml	(revision 486)
@@ -5,5 +5,5 @@
 	<Description value="Integrated Webserver for the Web Dashboard and server APIs" />
 	<Author value="The Fun Pimps LLC" />
-	<Version value="22.0.1.0" />
+	<Version value="22.0.1.1" />
 	<Website value="" />
 </xml>
Index: TFP-WebServer/WebServer/WebServer.csproj
===================================================================
--- TFP-WebServer/WebServer/WebServer.csproj	(revision 485)
+++ TFP-WebServer/WebServer/WebServer.csproj	(revision 486)
@@ -151,4 +151,5 @@
     <Compile Include="src\WebAPI\APIs\WorldState\Hostile.cs" />
     <Compile Include="src\WebAPI\APIs\WorldState\Player.cs" />
+    <Compile Include="src\WebAPI\EApiErrorCode.cs" />
     <Compile Include="src\WebAPI\JsonCommons.cs" />
     <Compile Include="src\WebAPI\Null.cs" />
Index: TFP-WebServer/WebServer/src/WebAPI/APIs/Command.cs
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/APIs/Command.cs	(revision 485)
+++ TFP-WebServer/WebServer/src/WebAPI/APIs/Command.cs	(revision 486)
@@ -92,5 +92,5 @@
 		protected override void HandleRestPost (RequestContext _context, IDictionary<string, object> _jsonInput, byte[] _jsonInputData) {
 			if (!JsonCommons.TryGetJsonField (_jsonInput, "command", out string commandString)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_COMMAND");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_COMMAND);
 				return;
 			}
@@ -115,5 +115,5 @@
 
 			if (command == null) {
-				SendEmptyResponse (_context, HttpStatusCode.NotFound, _jsonInputData, "UNKNOWN_COMMAND");
+				SendEmptyResponse (_context, HttpStatusCode.NotFound, _jsonInputData, EApiErrorCode.UNKNOWN_COMMAND);
 				return;
 			}
@@ -122,5 +122,5 @@
 
 			if (_context.PermissionLevel > commandPermissionLevel) {
-				SendEmptyResponse (_context, HttpStatusCode.Forbidden, _jsonInputData, "NO_PERMISSION");
+				SendEmptyResponse (_context, HttpStatusCode.Forbidden, _jsonInputData, EApiErrorCode.NO_PERMISSION);
 				return;
 			}
Index: TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/Blacklist.cs
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/Blacklist.cs	(revision 485)
+++ TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/Blacklist.cs	(revision 486)
@@ -68,5 +68,5 @@
 
 			if (!JsonCommons.TryReadDateTime (_jsonInput, propertyBannedUntil, out DateTime bannedUntil)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_OR_INVALID_BANNED_UNTIL");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_OR_INVALID_BANNED_UNTIL);
 				return;
 			}
@@ -96,10 +96,10 @@
 
 			if (string.IsNullOrEmpty (id)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_USER");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_USER);
 				return false;
 			}
 
 			if (!PlatformUserIdentifierAbs.TryFromCombinedString (id, out _userId)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "INVALID_USER");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.INVALID_USER);
 				return false;
 			}
Index: TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/CommandPermissions.cs
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/CommandPermissions.cs	(revision 485)
+++ TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/CommandPermissions.cs	(revision 486)
@@ -58,5 +58,5 @@
 
 			if (string.IsNullOrEmpty (id)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_COMMAND");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_COMMAND);
 				return;
 			}
@@ -64,10 +64,10 @@
 			IConsoleCommand cmd = SdtdConsole.Instance.GetCommand (id);
 			if (cmd == null) {
-				SendEmptyResponse (_context, HttpStatusCode.NotFound, _jsonInputData, "INVALID_COMMAND");
+				SendEmptyResponse (_context, HttpStatusCode.NotFound, _jsonInputData, EApiErrorCode.UNKNOWN_COMMAND);
 				return;
 			}
 
 			if (!JsonCommons.TryGetJsonField (_jsonInput, propertyPermissionLevel, out int permissionLevel)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_OR_INVALID_PERMISSION_LEVEL");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_OR_INVALID_PERMISSION_LEVEL);
 				return;
 			}
Index: TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/CommandPermissions.openapi.yaml
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/CommandPermissions.openapi.yaml	(revision 485)
+++ TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/CommandPermissions.openapi.yaml	(revision 486)
@@ -120,5 +120,5 @@
           $ref: './openapi.yaml#/components/responses/HttpEmptyEnvelopedResponse'
         404:
-          description: Specified command not found, errorCode will be 'INVALID_COMMAND'
+          description: Specified command not found, errorCode will be 'UNKNOWN_COMMAND'
           $ref: './openapi.yaml#/components/responses/HttpEmptyEnvelopedResponse'
         403:
Index: TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/RegisterUser.cs
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/RegisterUser.cs	(revision 485)
+++ TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/RegisterUser.cs	(revision 486)
@@ -27,10 +27,10 @@
 
 			if (string.IsNullOrEmpty (token)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, null, "NO_TOKEN");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, null, EApiErrorCode.MISSING_TOKEN);
 				return;
 			}
 
 			if (!UserRegistrationTokens.TryValidate (token, out UserRegistrationTokens.RegistrationData regData)) {
-				SendEmptyResponse (_context, HttpStatusCode.NotFound, null, "INVALID_OR_EXPIRED_TOKEN");
+				SendEmptyResponse (_context, HttpStatusCode.NotFound, null, EApiErrorCode.INVALID_OR_EXPIRED_TOKEN);
 				return;
 			}
@@ -51,30 +51,30 @@
 		protected override void HandleRestPost (RequestContext _context, IDictionary<string, object> _jsonInput, byte[] _jsonInputData) {
 			if (!JsonCommons.TryGetJsonField (_jsonInput, "token", out string token)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "MISSING_TOKEN");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.MISSING_TOKEN);
 				return;
 			}
 
 			if (!JsonCommons.TryGetJsonField (_jsonInput, "username", out string username)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "MISSING_USERNAME");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.MISSING_USERNAME);
 				return;
 			}
 
 			if (!JsonCommons.TryGetJsonField (_jsonInput, "password", out string password)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "MISSING_PASSWORD");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.MISSING_PASSWORD);
 				return;
 			}
 
 			if (!UserRegistrationTokens.TryValidate (token, out UserRegistrationTokens.RegistrationData regData)) {
-				SendEmptyResponse (_context, HttpStatusCode.Unauthorized, null, "INVALID_OR_EXPIRED_TOKEN");
+				SendEmptyResponse (_context, HttpStatusCode.Unauthorized, null, EApiErrorCode.INVALID_OR_EXPIRED_TOKEN);
 				return;
 			}
 
 			if (!userValidationRegex.IsMatch (username)) {
-				SendEmptyResponse (_context, HttpStatusCode.Unauthorized, _jsonInputData, "INVALID_USERNAME");
+				SendEmptyResponse (_context, HttpStatusCode.Unauthorized, _jsonInputData, EApiErrorCode.INVALID_USERNAME);
 				return;
 			}
 			
 			if (!passValidationRegex.IsMatch (password)) {
-				SendEmptyResponse (_context, HttpStatusCode.Unauthorized, _jsonInputData, "INVALID_PASSWORD");
+				SendEmptyResponse (_context, HttpStatusCode.Unauthorized, _jsonInputData, EApiErrorCode.INVALID_PASSWORD);
 				return;
 			}
@@ -86,5 +86,5 @@
 				    !Equals (existingMapping.CrossPlatformUser, regData.CrossPlatformUserId)) {
 					// Username already in use by another player
-					SendEmptyResponse (_context, HttpStatusCode.Unauthorized, _jsonInputData, "DUPLICATE_USERNAME");
+					SendEmptyResponse (_context, HttpStatusCode.Unauthorized, _jsonInputData, EApiErrorCode.DUPLICATE_USERNAME);
 					return;
 				}
Index: TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/RegisterUser.openapi.yaml
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/RegisterUser.openapi.yaml	(revision 485)
+++ TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/RegisterUser.openapi.yaml	(revision 486)
@@ -102,5 +102,5 @@
                   - meta
         400:
-          description: Invalid request, errorCode will be 'NO_TOKEN'
+          description: Invalid request, errorCode will be 'MISSING_TOKEN'
           $ref: './openapi.yaml#/components/responses/HttpEmptyEnvelopedResponse'
         404:
Index: TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/UserPermissions.cs
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/UserPermissions.cs	(revision 485)
+++ TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/UserPermissions.cs	(revision 486)
@@ -111,5 +111,5 @@
 			if (userId != null) {
 				if (!JsonCommons.TryGetJsonField (_jsonInput, propertyPermissionLevel, out int permissionLevel)) {
-					SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_OR_INVALID_PERMISSION_LEVEL");
+					SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_OR_INVALID_PERMISSION_LEVEL);
 					return;
 				}
@@ -120,10 +120,10 @@
 			} else {
 				if (!JsonCommons.TryGetJsonField (_jsonInput, propertyPermissionLevelMods, out int permissionLevelMods)) {
-					SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_OR_INVALID_PERMISSION_LEVEL_MODS");
+					SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_OR_INVALID_PERMISSION_LEVEL_MODS);
 					return;
 				}
 
 				if (!JsonCommons.TryGetJsonField (_jsonInput, propertyPermissionLevelNormal, out int permissionLevelNormal)) {
-					SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_OR_INVALID_PERMISSION_LEVEL_NORMAL");
+					SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_OR_INVALID_PERMISSION_LEVEL_NORMAL);
 					return;
 				}
Index: TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/WebApiTokens.cs
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/WebApiTokens.cs	(revision 485)
+++ TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/WebApiTokens.cs	(revision 486)
@@ -62,15 +62,15 @@
 
 			if (string.IsNullOrEmpty (id)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_NAME");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_NAME);
 				return;
 			}
 
 			if (!JsonCommons.TryGetJsonField (_jsonInput, propertySecret, out string secret)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_OR_INVALID_SECRET");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_OR_INVALID_SECRET);
 				return;
 			}
 
 			if (!JsonCommons.TryGetJsonField (_jsonInput, propertyPermissionLevel, out int permissionLevel)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_OR_INVALID_PERMISSION_LEVEL");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_OR_INVALID_PERMISSION_LEVEL);
 				return;
 			}
Index: TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/WebModules.cs
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/WebModules.cs	(revision 485)
+++ TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/WebModules.cs	(revision 486)
@@ -107,10 +107,10 @@
 
 			if (string.IsNullOrEmpty (id)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_MODULE");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_MODULE);
 				return;
 			}
 
 			if (!AdminWebModules.Instance.IsKnownModule (id)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "INVALID_MODULE");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.INVALID_MODULE);
 				return;
 			}
@@ -120,5 +120,5 @@
 			if (_jsonInput.ContainsKey (propertyPermissionLevelGlobal)) {
 				if (!JsonCommons.TryGetJsonField (_jsonInput, propertyPermissionLevelGlobal, out int permissionLevelGlobal)) {
-					SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "INVALID_PERMISSION_LEVEL_GLOBAL");
+					SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.INVALID_PERMISSION_LEVEL_GLOBAL);
 					return;
 				}
@@ -129,5 +129,5 @@
 			if (_jsonInput.TryGetValue (propertyPermissionLevelPerMethod, out object perLevelField)) {
 				if (perLevelField is not IDictionary<string, object> perLevelObj) {
-					SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "INVALID_PERMISSION_LEVEL_PER_METHOD_PROPERTY");
+					SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.INVALID_PERMISSION_LEVEL_PER_METHOD_PROPERTY);
 					return;
 				}
@@ -135,10 +135,10 @@
 				foreach ((string property, object valueObj) in perLevelObj) {
 					if (!EnumUtils.TryParse (property, out ERequestMethod method, true)) {
-						SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "INVALID_METHOD_NAME");
+						SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.INVALID_METHOD_NAME);
 						return;
 					}
 
 					if (module.LevelPerMethod == null || module.LevelPerMethod [(int)method] == AdminWebModules.MethodLevelNotSupported) {
-						SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "UNSUPPORTED_METHOD");
+						SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.UNSUPPORTED_METHOD);
 						return;
 					}
@@ -148,5 +148,5 @@
 					if (valueObj is string valueString) {
 						if (!valueString.EqualsCaseInsensitive (AdminWebModules.MethodLevelInheritKeyword)) {
-							SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "INVALID_PERMISSION_STRING");
+							SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.INVALID_PERMISSION_STRING);
 							return;
 						}						
@@ -157,9 +157,9 @@
 							permissionLevel = (int)valueDbl;
 						} catch (Exception) {
-							SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "INVALID_PERMISSION_VALUE");
+							SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.INVALID_PERMISSION_VALUE);
 							return;
 						}
 					} else {
-						SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "INVALID_PERMISSION_VALUE_TYPE");
+						SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.INVALID_PERMISSION_VALUE_TYPE);
 						return;
 					}
Index: TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/WebUsers.cs
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/WebUsers.cs	(revision 485)
+++ TFP-WebServer/WebServer/src/WebAPI/APIs/Permissions/WebUsers.cs	(revision 486)
@@ -64,15 +64,15 @@
 
 			if (!JsonCommons.TryGetJsonField (_jsonInput, propertyPassword, out string password)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_OR_INVALID_PASSWORD");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_OR_INVALID_PASSWORD);
 				return;
 			}
 
 			if (!JsonCommons.TryGetJsonField (_jsonInput, propertyPlatformUserId, out IDictionary<string, object> userIdField)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_PLATFORM_USER_ID");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_PLATFORM_USER_ID);
 				return;
 			}
 
 			if (!JsonCommons.TryReadPlatformUserIdentifier (userIdField, out PlatformUserIdentifierAbs platformUserId)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "INVALID_PLATFORM_USER_ID");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.INVALID_PLATFORM_USER_ID);
 				return;
 			}
@@ -82,5 +82,5 @@
 			if (JsonCommons.TryGetJsonField (_jsonInput, propertyCrossplatformUserId, out userIdField)) {
 				if (!JsonCommons.TryReadPlatformUserIdentifier (userIdField, out crossplatformUserId)) {
-					SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "INVALID_CROSSPLATFORM_USER_ID");
+					SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.INVALID_CROSSPLATFORM_USER_ID);
 					return;
 				}
@@ -107,5 +107,5 @@
 
 			if (string.IsNullOrEmpty (id)) {
-				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, "NO_USERNAME");
+				SendEmptyResponse (_context, HttpStatusCode.BadRequest, _jsonInputData, EApiErrorCode.NO_USERNAME);
 				return false;
 			}
Index: TFP-WebServer/WebServer/src/WebAPI/AbsRestApi.cs
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/AbsRestApi.cs	(revision 485)
+++ TFP-WebServer/WebServer/src/WebAPI/AbsRestApi.cs	(revision 486)
@@ -174,4 +174,8 @@
 		}
 
+		protected static void SendEmptyResponse (RequestContext _context, HttpStatusCode _statusCode, byte[] _jsonInputData, EApiErrorCode _errorCode, Exception _exception = null) {
+			SendEmptyResponse (_context, _statusCode, _jsonInputData, _errorCode.ToStringCached (), _exception);
+		}
+
 #endregion
 	}
Index: TFP-WebServer/WebServer/src/WebAPI/EApiErrorCode.cs
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/EApiErrorCode.cs	(revision 486)
+++ TFP-WebServer/WebServer/src/WebAPI/EApiErrorCode.cs	(revision 486)
@@ -0,0 +1,53 @@
+namespace Webserver.WebAPI
+{
+    public enum EApiErrorCode {
+        NO_PERMISSION,
+
+        // User management:
+        NO_USER,
+        INVALID_USER,
+			
+        // Blacklist:
+        NO_OR_INVALID_BANNED_UNTIL,
+			
+        // Command / CommandPermissions:
+        NO_COMMAND,
+        UNKNOWN_COMMAND,
+			
+        // Permissions related:
+        NO_OR_INVALID_PERMISSION_LEVEL,
+        NO_OR_INVALID_PERMISSION_LEVEL_MODS,
+        NO_OR_INVALID_PERMISSION_LEVEL_NORMAL,
+			
+        // User registration:
+        INVALID_OR_EXPIRED_TOKEN,
+        MISSING_TOKEN,
+        MISSING_USERNAME,
+        MISSING_PASSWORD,
+        INVALID_USERNAME,
+        INVALID_PASSWORD,
+        DUPLICATE_USERNAME,
+			
+        // WebApiTokens:
+        NO_NAME,
+        NO_OR_INVALID_SECRET,
+			
+        // WebModules:
+        NO_MODULE,
+        INVALID_MODULE,
+        INVALID_PERMISSION_LEVEL_GLOBAL,
+        INVALID_PERMISSION_LEVEL_PER_METHOD_PROPERTY,
+        INVALID_METHOD_NAME,
+        UNSUPPORTED_METHOD,
+        INVALID_PERMISSION_STRING,
+        INVALID_PERMISSION_VALUE,
+        INVALID_PERMISSION_VALUE_TYPE,
+			
+        // WebUsers:
+        NO_OR_INVALID_PASSWORD,
+        NO_PLATFORM_USER_ID,
+        INVALID_PLATFORM_USER_ID,
+        INVALID_CROSSPLATFORM_USER_ID,
+        NO_USERNAME,
+    }
+}
Index: TFP-WebServer/bin/Mods/TFP_WebServer/ModInfo.xml
===================================================================
--- TFP-WebServer/bin/Mods/TFP_WebServer/ModInfo.xml	(revision 485)
+++ TFP-WebServer/bin/Mods/TFP_WebServer/ModInfo.xml	(revision 486)
@@ -5,5 +5,5 @@
 	<Description value="Integrated Webserver for the Web Dashboard and server APIs" />
 	<Author value="The Fun Pimps LLC" />
-	<Version value="22.0.1.0" />
+	<Version value="22.0.1.1" />
 	<Website value="" />
 </xml>
