Disable MFA
Turns OFF every second factor on the account at once. After this a password alone signs the member in.
SELF-SERVICE ONLY: {id} must be the caller’s own user id. An administrative role does not open this route for somebody else, and there is no administrative equivalent of it. To clear somebody else’s factors, an administrator removes them one at a time with DELETE /v1/users/{id}/mfa/admin/{mfaType} — including a legacy sms enrollment, which is what unblocks DELETE /v1/users/{id}/phone.
To remove one channel and keep the others, use DELETE /v1/users/{id}/mfa/{mfaType} instead — this route is the whole-account switch and does not ask which.
The body carries a 6-digit code proving an ENABLED factor: the member’s preferred method when it is enabled, otherwise their only enabled one, and the authenticator when both are enabled with no usable preference. For app it is the current passcode from their authenticator app; for email, the code mailed by POST /v1/users/{id}/mfa/disable/challenge. A mailed code never proves the reset for a member without the email channel enabled. The code is checked after the account-state refusals, so a request that was going to fail anyway never spends it.
On success the response has no body (204).
Failures:
400 IDE-0007/IDE-0001/IDE-0002— the body is missing or malformed.400 IDE-0041— MFA is not enabled on the account, or only a legacysmsenrollment is left (clear it withDELETE /v1/users/{id}/mfa/sms).400 IDE-0042— the code is wrong (or, forapp, already used).400 IDE-0060— no live mailed code: none was requested, it expired, or it was spent.400 IDE-0061— the mailed code was answered wrongly too many times; request a new one.400 IDE-0063— the authorization server locked authenticator verification; wait.400 IDE-0045— the MFA operation could not be completed.404 IDE-0013—{id}is not the token’s subject. Distinct fromIDE-0057, the 403 the self-scope guard raises on the profile routes.404— no such user.503 IDE-0066— the identity provider is unavailable (unreachable, too slow to answer, or failing). Nothing about the request was wrong; retry it later.
Authorizations
JWT bearer token issued by the identity provider.
Path Parameters
User ID.
"00000000-0000-0000-0000-000000000000"
Body
Confirmation code proving the preferred method.
"123456"
Response
No Content

