Skip to main content

Get MFA Status

Get current MFA status and configured methods for the authenticated user.

Quick Navigation

Endpoint

GET /api/v1/mfa/status

Headers

HeaderRequiredDescription
AuthorizationYesBearer <access_token>

Response

Success (200)

{
"success": true,
"data": {
"enabled": true,
"methods": [
{
"id": 1,
"type": "totp",
"device_name": "iPhone 14",
"phone_number": null,
"created_at": "2024-01-01T10:00:00Z",
"last_used_at": "2024-01-01T12:00:00Z",
"is_primary": true,
"verified": true
},
{
"id": 2,
"type": "email_otp",
"device_name": null,
"phone_number": null,
"created_at": "2024-01-01T11:00:00Z",
"last_used_at": "2024-01-01T13:00:00Z",
"is_primary": false,
"verified": true
}
],
"backup_codes_count": 10
},
"message": "MFA status retrieved successfully"
}

Error Codes

StatusCodeDescription
401UNAUTHORIZEDInvalid or missing token
500STATUS_FAILEDInternal server error

Data Flow

  1. Authentication

    • Verify access token
    • Get current user
  2. MFA Methods Query

    • Query MfaMethod table
    • Filter by user ID
    • Filter by verified = true
    • Order by is_primary, created_at
  3. Backup Codes Count

    • Query BackupCode table
    • Count unused codes for user
  4. Data Formatting

    • Format method details
    • Include timestamps
    • Include usage statistics
  5. Response

    • Return enabled status
    • Return methods list
    • Return backup codes count

Features

  • Shows enabled MFA methods
  • Displays backup codes count
  • Shows method details (device name, last used, etc.)
  • Indicates primary method
  • Shows verification status

Example

curl -X GET https://api.rivergen.com/api/v1/mfa/status \
-H "Authorization: Bearer <access_token>"