Get MFA Status
Get current MFA status and configured methods for the authenticated user.
Quick Navigation
Endpoint
GET /api/v1/mfa/status
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer <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
| Status | Code | Description |
|---|---|---|
| 401 | UNAUTHORIZED | Invalid or missing token |
| 500 | STATUS_FAILED | Internal server error |
Data Flow
-
Authentication
- Verify access token
- Get current user
-
MFA Methods Query
- Query MfaMethod table
- Filter by user ID
- Filter by verified = true
- Order by is_primary, created_at
-
Backup Codes Count
- Query BackupCode table
- Count unused codes for user
-
Data Formatting
- Format method details
- Include timestamps
- Include usage statistics
-
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>"
Related Endpoints
- TOTP Setup - Setup TOTP method
- Email OTP Setup - Setup Email OTP method
- Generate Backup Codes - Generate new backup codes