List a member's MFA factors
The second factors a tenant member has enrolled.
GET /organizations/{org}/tenants/{tenantId}/members/{userId}/mfa
Lists the member’s second factors. Seeds, key material and full destinations are never returned.
Authorization
Any member of the org. A non-member gets 404, the same as for an org that does not exist.
Path parameters
| Name | Type | Description |
|---|---|---|
org | string | The organization: its id (org_…) or its slug. It has to be an org your token can manage (see Who can call it) |
tenantId | string | The tenant, tnt_… |
userId | string | The member, usr_… |
Response
200 OK with an array of factors.
[
{
"id": "mfa_65f1c2a9e4b0d3f7a1c8e90b",
"kind": "sms",
"label": null,
"destination": "••• ••• •678",
"created_at": "2026-09-02T14:03:11.000Z",
"confirmed_at": "2026-09-02T14:04:02.000Z"
}
]
| Field | Type | Description |
|---|---|---|
id | string | mfa_… |
kind | string | totp, passkey, fido, email, sms or recovery |
label | string | null | |
destination | string | null | Masked. Set for email and sms only |
created_at | ISO date | |
confirmed_at | ISO date | null |
Errors
| Status | error | When |
|---|---|---|
404 | not_found | No such member in this tenant, no such tenant, or the org is not yours |
Example
curl https://loginwith.loginwith.dev/organizations/acme/tenants/tnt_65f1c2a9e4b0d3f7a1c8e908/members/usr_65f1c2a9e4b0d3f7a1c8e909/mfa \
-H "Authorization: Bearer $TOKEN"