1. Docs
  2. API Reference
  3. Get MFA enrollment summary for an identity

Get MFA enrollment summary for an identity

GET/portal/v1/accounts/{accountSlug}/identities/{id}/mfa

Returns an identity's MFA enrollment summary — enrolled factors and recovery-code state — as a server-to-server admin read. MFA factors are a single set per identity across the Account; access is gated by an Environment-scoped membership check. Secret material is redacted in the response. Returns 404 when the identity has no membership in this Environment.

Authentication

Bearer TokenAuthorization

JWT access token. Never send alongside X-API-Key: a request carrying both is refused.

Requires capability identities.viewIdentities

View end-user identities across the account. Granted through an administrator role in the Admin Workspace; a valid token without it is refused with 403.

Path Parameters

idstring Required

Responses

application/json

  • dataAccountIdentityMfaResponseDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

Errors

When the request can't be completed, the response body includes a stable error code you can branch on.

403account.capability_requiredForbidden
When it happens

The signed-in user's administrator roles do not grant the capability this endpoint requires.

Remediation

Ask an account administrator to grant a role carrying the capability named in the Authentication section, then retry.

Returned object

Request
curl -X GET "https://auth.canopy-io.com/portal/v1/accounts/{accountSlug}/identities/value/mfa" \
  -H "Authorization: Bearer $CANOPY_TOKEN"
Response
{
  "data": {
    "factors": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "type": "totp",
        "label": "iPhone 15",
        "enrolled_at": "2026-04-20T12:00:00.000Z",
        "last_used_at": "2026-04-20T12:00:00.000Z",
        "webauthn_rp_id": "acme.com"
      }
    ],
    "recovery_codes_generation": 0,
    "recovery_codes_remaining": 0,
    "mfa_admin_reset_at": "2026-04-20T12:00:00.000Z"
  }
}
Related endpoints
POSTForce-reset an identity's MFA — admin recovery action
Was this page helpful?

Tell us how we can improve this guide.