summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--assets/schemas.json2048
-rw-r--r--src/api/routes/auth/login.ts23
-rw-r--r--src/api/routes/auth/mfa/totp.ts5
-rw-r--r--src/api/routes/auth/mfa/webauthn.ts5
-rw-r--r--src/api/routes/users/@me/mfa/totp/enable.ts10
-rw-r--r--src/api/routes/users/@me/mfa/webauthn/credentials/index.ts34
-rw-r--r--src/util/config/types/subconfigurations/security/TwoFactor.ts2
-rw-r--r--src/util/entities/User.ts9
-rw-r--r--src/util/util/WebAuthn.ts9
9 files changed, 2133 insertions, 12 deletions
diff --git a/assets/schemas.json b/assets/schemas.json
index a0ab1697..91e23f1a 100644
--- a/assets/schemas.json
+++ b/assets/schemas.json
@@ -1655,12 +1655,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -2101,6 +2109,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -5874,12 +5890,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -6320,6 +6344,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -10093,12 +10125,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -10539,6 +10579,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -14307,12 +14355,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -14753,6 +14809,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -18557,12 +18621,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -19003,6 +19075,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -22776,12 +22856,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -23222,6 +23310,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -26986,12 +27082,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -27432,6 +27536,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -31199,12 +31311,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -31645,6 +31765,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -35421,12 +35549,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -35867,6 +36003,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -39631,12 +39775,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -40077,6 +40229,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -43841,12 +44001,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -44287,6 +44455,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -48070,12 +48246,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -48516,6 +48700,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -52283,12 +52475,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -52729,6 +52929,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -56556,12 +56764,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -57002,6 +57218,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -60788,12 +61012,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -61234,6 +61466,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -65161,12 +65401,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -65607,6 +65855,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -69392,12 +69648,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -69838,6 +70102,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -73633,12 +73905,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -74079,6 +74359,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -77856,12 +78144,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -78302,6 +78598,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -82085,12 +82389,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -82531,6 +82843,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -86304,12 +86624,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -86750,6 +87078,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -90511,12 +90847,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -90957,6 +91301,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -94836,12 +95188,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -95282,6 +95642,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -99158,12 +99526,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -99604,6 +99980,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -103368,12 +103752,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -103814,6 +104206,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -107586,12 +107986,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -108032,6 +108440,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -111797,12 +112213,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -112243,6 +112667,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -116008,12 +116440,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -116454,6 +116894,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -120254,12 +120702,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -120700,6 +121156,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -124465,12 +124929,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -124911,6 +125383,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -128675,12 +129155,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -129121,6 +129609,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -132900,12 +133396,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -133346,6 +133850,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -137114,12 +137626,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -137560,6 +138080,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -141402,12 +141930,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -141848,6 +142384,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -145612,12 +146156,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -146058,6 +146610,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -149822,12 +150382,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -150268,6 +150836,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -154029,12 +154605,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -154475,6 +155059,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -158242,12 +158834,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -158688,6 +159288,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -162465,12 +163073,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -162911,6 +163527,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -166672,12 +167296,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -167118,6 +167750,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -170928,12 +171568,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -171374,6 +172022,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -175170,12 +175826,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -175616,6 +176280,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -179377,12 +180049,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -179823,6 +180503,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -183609,12 +184297,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -184055,6 +184751,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -187930,12 +188634,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -188376,6 +189088,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -192136,12 +192856,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -192582,6 +193310,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -196381,12 +197117,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -196827,6 +197571,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -200614,12 +201366,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -201060,6 +201820,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -204899,12 +205667,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -205345,6 +206121,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -209106,12 +209890,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -209552,6 +210344,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -213321,12 +214121,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -213767,6 +214575,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -217526,12 +218342,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -217972,6 +218796,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -221737,12 +222569,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -222183,6 +223023,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -225948,12 +226796,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -226394,6 +227250,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -230159,12 +231023,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -230605,6 +231477,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -234402,12 +235282,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -234848,6 +235736,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -238617,12 +239513,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -239063,6 +239967,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -242822,12 +243734,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -243268,6 +244188,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -247033,12 +247961,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -247479,6 +248415,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -251255,12 +252199,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -251701,6 +252653,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -255491,12 +256451,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -255937,6 +256905,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -259698,12 +260674,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -260144,6 +261128,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -263908,12 +264900,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -264354,6 +265354,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -268147,12 +269155,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -268593,6 +269609,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -272354,12 +273378,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -272800,6 +273832,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -276640,12 +277680,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -277086,6 +278134,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -280854,12 +281910,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -281300,6 +282364,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -285061,12 +286133,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -285507,6 +286587,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -289268,12 +290356,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -289714,6 +290810,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -293482,12 +294586,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -293928,6 +295040,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -297693,12 +298813,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -298139,6 +299267,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -301900,12 +303036,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -302346,6 +303490,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -306182,12 +307334,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -306628,6 +307788,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -310400,12 +311568,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -310846,6 +312022,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -314619,12 +315803,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -315065,6 +316257,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -318888,12 +320088,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -319334,6 +320542,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -323116,12 +324332,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -323562,6 +324786,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -327350,12 +328582,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -327796,6 +329036,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -331578,12 +332826,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -332024,6 +333280,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -335785,12 +337049,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -336231,6 +337503,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -340020,12 +341300,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -340466,6 +341754,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -344267,12 +345563,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -344713,6 +346017,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -348468,12 +349780,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -348914,6 +350234,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -352679,12 +354007,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -353125,6 +354461,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -356886,12 +358230,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -357332,6 +358684,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -361100,12 +362460,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -361546,6 +362914,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -365518,12 +366894,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -365964,6 +367348,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -369716,12 +371108,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -370162,6 +371562,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -374008,12 +375416,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -374454,6 +375870,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -378209,12 +379633,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -378655,6 +380087,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -382410,12 +383850,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -382856,6 +384304,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -386611,12 +388067,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -387057,6 +388521,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -390906,12 +392378,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -391352,6 +392832,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -395105,12 +396593,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -395551,6 +397047,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -399304,12 +400808,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -399750,6 +401262,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -403503,12 +405023,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -403949,6 +405477,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -407704,12 +409240,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -408150,6 +409694,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -411905,12 +413457,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -412351,6 +413911,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -416106,12 +417674,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -416552,6 +418128,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -420307,12 +421891,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -420753,6 +422345,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -424508,12 +426108,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -424954,6 +426562,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -428773,12 +430389,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -429219,6 +430843,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -432974,12 +434606,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -433420,6 +435060,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -437175,12 +438823,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -437621,6 +439277,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -441376,12 +443040,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -441822,6 +443494,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -445624,12 +447304,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -446070,6 +447758,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -450061,12 +451757,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -450507,6 +452211,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -454262,12 +455974,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -454708,6 +456428,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -458463,12 +460191,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -458909,6 +460645,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -462664,12 +464408,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -463110,6 +464862,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -466865,12 +468625,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -467311,6 +469079,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -471092,12 +472868,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -471538,6 +473322,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -475293,12 +477085,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -475739,6 +477539,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -479515,12 +481323,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -479961,6 +481777,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -483730,12 +485554,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -484176,6 +486008,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -488057,12 +489897,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -488503,6 +490351,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -492276,12 +494132,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -492722,6 +494586,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -496501,12 +498373,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -496947,6 +498827,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -500712,12 +502600,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -501158,6 +503054,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -504923,12 +506827,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -505369,6 +507281,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -509121,12 +511041,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -509567,6 +511495,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -513331,12 +515267,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -513777,6 +515721,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -517556,12 +519508,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -518002,6 +519962,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -521785,12 +523753,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -522231,6 +524207,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -525993,12 +527977,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -526439,6 +528431,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -530200,12 +532200,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -530646,6 +532654,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -534407,12 +536423,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -534853,6 +536877,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
@@ -538620,12 +540652,20 @@
                             "$ref": "#/definitions/SecurityKey"
                         }
                     },
+                    "authenticator_types": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/definitions/AuthenticatorType"
+                        },
+                        "default": []
+                    },
                     "id": {
                         "type": "string"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
+                    "authenticator_types",
                     "bio",
                     "bot",
                     "connected_accounts",
@@ -539066,6 +541106,14 @@
                     "user_id"
                 ]
             },
+            "AuthenticatorType": {
+                "enum": [
+                    1,
+                    2,
+                    3
+                ],
+                "type": "number"
+            },
             "ChannelPermissionOverwrite": {
                 "type": "object",
                 "properties": {
diff --git a/src/api/routes/auth/login.ts b/src/api/routes/auth/login.ts
index a2100333..d2384337 100644
--- a/src/api/routes/auth/login.ts
+++ b/src/api/routes/auth/login.ts
@@ -139,7 +139,9 @@ router.post(
 				ticket: ticket,
 				mfa: true,
 				sms: false, // TODO
-				token: null,
+				totp: true,
+				backup: true,
+				user_id: user.id,
 			});
 		}
 
@@ -172,7 +174,9 @@ router.post(
 				ticket: ticket,
 				mfa: true,
 				sms: false, // TODO
-				token: null,
+				totp: true,
+				backup: true,
+				user_id: user.id,
 				webauthn: challenge,
 			});
 		}
@@ -202,7 +206,13 @@ router.post(
 		// Discord header is just the user id as string, which is not possible with npm-jsonwebtoken package
 		// https://user-images.githubusercontent.com/6506416/81051916-dd8c9900-8ec2-11ea-8794-daf12d6f31f0.png
 
-		res.json({ token, settings: { ...user.settings, index: undefined } });
+		res.json({
+			token,
+			settings: {
+				locale: user.settings.locale,
+				theme: user.settings.theme,
+			},
+		});
 	},
 );
 
@@ -211,15 +221,12 @@ router.post(
  * @argument { login: "email@gmail.com", password: "cleartextpassword", undelete: false, captcha_key: null, login_source: null, gift_code_sku_id: null, }
 
  * MFA required:
- * @returns {"token": null, "mfa": true, "sms": true, "ticket": "SOME TICKET JWT TOKEN"}
-
- * WebAuthn MFA required:
- * @returns {"token": null, "mfa": true, "webauthn": true, "sms": true, "ticket": "SOME TICKET JWT TOKEN"}
+ * @returns {"mfa": true, "sms": boolean, "totp": boolean, "backup": true, "ticket": "SOME TICKET JWT TOKEN", "user_id": "USER ID", "webauthn": "WEBAUTHN DATA or null"}
 
  * Captcha required:
  * @returns {"captcha_key": ["captcha-required"], "captcha_sitekey": null, "captcha_service": "recaptcha"}
 
  * Sucess:
- * @returns {"token": "USERTOKEN", "settings": {"locale": "en", "theme": "dark"}}
+ * @returns {"token": "USERTOKEN", "user_id": "USER ID", "settings": {"locale": "en-US", "theme": "dark"}}
 
  */
diff --git a/src/api/routes/auth/mfa/totp.ts b/src/api/routes/auth/mfa/totp.ts
index 4df408f9..20ecd7a1 100644
--- a/src/api/routes/auth/mfa/totp.ts
+++ b/src/api/routes/auth/mfa/totp.ts
@@ -73,7 +73,10 @@ router.post(
 
 		return res.json({
 			token: await generateToken(user.id),
-			settings: { ...user.settings, index: undefined },
+			settings: {
+				locale: user.settings.locale,
+				theme: user.settings.theme,
+			},
 		});
 	},
 );
diff --git a/src/api/routes/auth/mfa/webauthn.ts b/src/api/routes/auth/mfa/webauthn.ts
index b58d2944..687fdcd8 100644
--- a/src/api/routes/auth/mfa/webauthn.ts
+++ b/src/api/routes/auth/mfa/webauthn.ts
@@ -114,7 +114,10 @@ router.post(
 
 		return res.json({
 			token: await generateToken(user.id),
-			user_settings: user.settings,
+			user_settings: {
+				locale: user.settings.locale,
+				theme: user.settings.theme,
+			},
 		});
 	},
 );
diff --git a/src/api/routes/users/@me/mfa/totp/enable.ts b/src/api/routes/users/@me/mfa/totp/enable.ts
index 19836e4d..5471e0b5 100644
--- a/src/api/routes/users/@me/mfa/totp/enable.ts
+++ b/src/api/routes/users/@me/mfa/totp/enable.ts
@@ -18,6 +18,7 @@
 
 import { route } from "@spacebar/api";
 import {
+	AuthenticatorType,
 	TotpEnableSchema,
 	User,
 	generateMfaBackupCodes,
@@ -74,7 +75,14 @@ router.post(
 		await Promise.all(backup_codes.map((x) => x.save()));
 		await User.update(
 			{ id: req.user_id },
-			{ mfa_enabled: true, totp_secret: body.secret },
+			{
+				mfa_enabled: true,
+				totp_secret: body.secret,
+				authenticator_types: [
+					...user.authenticator_types,
+					AuthenticatorType.TOTP,
+				],
+			},
 		);
 
 		res.send({
diff --git a/src/api/routes/users/@me/mfa/webauthn/credentials/index.ts b/src/api/routes/users/@me/mfa/webauthn/credentials/index.ts
index f383ffb7..c8e5b67a 100644
--- a/src/api/routes/users/@me/mfa/webauthn/credentials/index.ts
+++ b/src/api/routes/users/@me/mfa/webauthn/credentials/index.ts
@@ -18,9 +18,12 @@
 
 import { route } from "@spacebar/api";
 import {
+	AuthenticatorType,
+	BackupCode,
 	CreateWebAuthnCredentialSchema,
 	DiscordApiErrors,
 	FieldErrors,
+	generateMfaBackupCodes,
 	GenerateWebAuthnCredentialsSchema,
 	generateWebAuthnTicket,
 	SecurityKey,
@@ -193,12 +196,41 @@ router.post(
 
 			await Promise.all([
 				securityKey.save(),
-				User.update({ id: req.user_id }, { webauthn_enabled: true }),
+				User.update(
+					{ id: req.user_id },
+					{
+						webauthn_enabled: true,
+						authenticator_types: [
+							...user.authenticator_types,
+							AuthenticatorType.WEBAUTHN,
+						],
+					},
+				),
 			]);
 
+			// try and get the users existing backup codes
+			let backup_codes = await BackupCode.find({
+				where: {
+					user: {
+						id: req.user_id,
+					},
+				},
+			});
+
+			// if there arent any, create them
+			if (!backup_codes.length) {
+				backup_codes = generateMfaBackupCodes(req.user_id);
+				await Promise.all(backup_codes.map((x) => x.save()));
+			}
+
 			return res.json({
 				name,
 				id: securityKey.id,
+				type: AuthenticatorType.WEBAUTHN, // I think thats what this is?
+				backup_codes: backup_codes.map((x) => ({
+					...x,
+					expired: undefined,
+				})),
 			});
 		} else {
 			throw DiscordApiErrors.INVALID_AUTHENTICATION_TOKEN;
diff --git a/src/util/config/types/subconfigurations/security/TwoFactor.ts b/src/util/config/types/subconfigurations/security/TwoFactor.ts
index 75757124..dfa493a7 100644
--- a/src/util/config/types/subconfigurations/security/TwoFactor.ts
+++ b/src/util/config/types/subconfigurations/security/TwoFactor.ts
@@ -18,4 +18,6 @@
 
 export class TwoFactorConfiguration {
 	generateBackupCodes: boolean = true;
+	webauthnAttestation: "none" | "indirect" | "direct" = "none";
+	webauthnTimeout: number = 60000;
 }
diff --git a/src/util/entities/User.ts b/src/util/entities/User.ts
index c6582b00..25586793 100644
--- a/src/util/entities/User.ts
+++ b/src/util/entities/User.ts
@@ -85,6 +85,12 @@ export interface UserPrivate extends Pick<User, PrivateUserKeys> {
 	locale: string;
 }
 
+export enum AuthenticatorType {
+	WEBAUTHN = 1,
+	TOTP = 2,
+	SMS = 3,
+}
+
 @Entity("users")
 export class User extends BaseClass {
 	@Column()
@@ -231,6 +237,9 @@ export class User extends BaseClass {
 	@OneToMany(() => SecurityKey, (key: SecurityKey) => key.user)
 	security_keys: SecurityKey[];
 
+	@Column({ type: "simple-array", select: false })
+	authenticator_types: AuthenticatorType[] = [];
+
 	// TODO: I don't like this method?
 	validate() {
 		if (this.discriminator) {
diff --git a/src/util/util/WebAuthn.ts b/src/util/util/WebAuthn.ts
index b0027b13..599efe33 100644
--- a/src/util/util/WebAuthn.ts
+++ b/src/util/util/WebAuthn.ts
@@ -33,6 +33,15 @@ export const WebAuthn: {
 	init: function () {
 		this.fido2 = new Fido2Lib({
 			challengeSize: 128,
+			rpName: Config.get().general.instanceName,
+			rpId:
+				Config.get().general.frontPage ??
+				Config.get().general.instanceName.toLowerCase(),
+			attestation: Config.get().security.twoFactor.webauthnAttestation,
+			// rpIcon:
+			timeout: Config.get().security.twoFactor.webauthnTimeout,
+			authenticatorRequireResidentKey: false,
+			authenticatorUserVerification: "preferred",
 		});
 	},
 };