> ## Documentation Index
> Fetch the complete documentation index at: https://stytch.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Delete Factor

> Deletes an authentication factor from the current user's account. The endpoint called depends on the type of the [AuthenticationFactor] passed: - [AuthenticationFactor.TOTP] → `DELETE /sdk/v1/users/totps/{totp_id}` - [AuthenticationFactor.Email] → `DELETE /sdk/v1/users/emails/{email_id}` - [AuthenticationFactor.OAuth] → `DELETE /sdk/v1/users/oauth/{oauth_user_registration_id}` - [AuthenticationFactor.WebAuthn] → `DELETE /sdk/v1/users/webauthn_registrations/{webauthn_registration_id}` - [AuthenticationFactor.Biometric] → `DELETE /sdk/v1/users/biometric_registrations/{biometric_registration_id}` - [AuthenticationFactor.CryptoWallet] → `DELETE /sdk/v1/users/crypto_wallets/{crypto_wallet_id}` - [AuthenticationFactor.PhoneNumber] → `DELETE /sdk/v1/users/phone_numbers/{phone_id}`

## Parameters

<ParamField body="factorId" type="String" required>
  The unique ID of the factor.
</ParamField>

## Returns

<ResponseField name="requestId" type="String" required />

<ResponseField name="statusCode" type="Int" required />

<ResponseField name="user" type="ApiUserV1User" required>
  The updated user object after the factor was removed.

  <Expandable title="properties">
    <ResponseField name="userId" type="String" required />

    <ResponseField name="emails" type="List<ApiUserV1Email>" required>
      <Expandable title="properties">
        <ResponseField name="emailId" type="String" required />

        <ResponseField name="email" type="String" required />

        <ResponseField name="verified" type="Boolean" required />
      </Expandable>
    </ResponseField>

    <ResponseField name="status" type="String" required />

    <ResponseField name="phoneNumbers" type="List<ApiUserV1PhoneNumber>" required>
      <Expandable title="properties">
        <ResponseField name="phoneId" type="String" required />

        <ResponseField name="phoneNumber" type="String" required />

        <ResponseField name="verified" type="Boolean" required />
      </Expandable>
    </ResponseField>

    <ResponseField name="webauthnRegistrations" type="List<ApiUserV1WebAuthnRegistration>" required>
      <Expandable title="properties">
        <ResponseField name="webauthnRegistrationId" type="String" required />

        <ResponseField name="domain" type="String" required />

        <ResponseField name="userAgent" type="String" required />

        <ResponseField name="verified" type="Boolean" required />

        <ResponseField name="authenticatorType" type="String" required />

        <ResponseField name="name" type="String" required />
      </Expandable>
    </ResponseField>

    <ResponseField name="providers" type="List<ApiUserV1OAuthProvider>" required>
      <Expandable title="properties">
        <ResponseField name="providerType" type="String" required />

        <ResponseField name="providerSubject" type="String" required />

        <ResponseField name="profilePictureUrl" type="String" required />

        <ResponseField name="locale" type="String" required />

        <ResponseField name="oauthUserRegistrationId" type="String" required />
      </Expandable>
    </ResponseField>

    <ResponseField name="totps" type="List<ApiUserV1TOTP>" required>
      <Expandable title="properties">
        <ResponseField name="totpId" type="String" required />

        <ResponseField name="verified" type="Boolean" required />
      </Expandable>
    </ResponseField>

    <ResponseField name="cryptoWallets" type="List<ApiUserV1CryptoWallet>" required>
      <Expandable title="properties">
        <ResponseField name="cryptoWalletId" type="String" required />

        <ResponseField name="cryptoWalletAddress" type="String" required />

        <ResponseField name="cryptoWalletType" type="String" required />

        <ResponseField name="verified" type="Boolean" required />
      </Expandable>
    </ResponseField>

    <ResponseField name="biometricRegistrations" type="List<ApiUserV1BiometricRegistration>" required>
      <Expandable title="properties">
        <ResponseField name="biometricRegistrationId" type="String" required />

        <ResponseField name="verified" type="Boolean" required />
      </Expandable>
    </ResponseField>

    <ResponseField name="isLocked" type="Boolean" required />

    <ResponseField name="roles" type="List<String>" required />

    <ResponseField name="name" type="ApiUserV1Name?">
      <Expandable title="properties">
        <ResponseField name="firstName" type="String?" />

        <ResponseField name="middleName" type="String?" />

        <ResponseField name="lastName" type="String?" />
      </Expandable>
    </ResponseField>

    <ResponseField name="createdAt" type="Instant?" />

    <ResponseField name="password" type="ApiUserV1Password?">
      <Expandable title="properties">
        <ResponseField name="passwordId" type="String" required />

        <ResponseField name="requiresReset" type="Boolean" required />
      </Expandable>
    </ResponseField>

    <ResponseField name="trustedMetadata" type="Map<String, JsonElement>?" />

    <ResponseField name="untrustedMetadata" type="Map<String, JsonElement>?" />

    <ResponseField name="externalId" type="String?" />

    <ResponseField name="lockCreatedAt" type="Instant?" />

    <ResponseField name="lockExpiresAt" type="Instant?" />
  </Expandable>
</ResponseField>

<RequestExample>
  ```js theme={null}
  StytchConsumer.user.deleteFactor({ type: "email", factorId: "email-test-d5a3b680-e8a3-40c0-b815-ab79986666d0" })
  ```
</RequestExample>
