---
title: "Start TOTP MFA enrollment"
method: POST
path: "/v1/users/{user_id}/mfa/totp/enrollment/init"
tags: ["Users MFA"]
---

# Start TOTP MFA enrollment

`POST /v1/users/{user_id}/mfa/totp/enrollment/init`

## Request

- Base URL: `https://api.privy.io`
- URL: `https://api.privy.io/v1/users/{user_id}/mfa/totp/enrollment/init`
- Auth: HTTP basic

Creates a TOTP secret for the user to add to an authenticator app.

## Path parameters

- `user_id` string, required

## Headers

- `privy-app-id` string, required: ID of your Privy app.
- `privy-user-token` string, required: Access token or custom authentication JWT for the user the request acts on.
- `privy-mfa-token` string: MFA token from a completed MFA verification, required on MFA-protected requests for users with MFA enrolled.

## Response `200`

Authenticator setup information.

- TotpMfaEnrollmentInitResponse: Authenticator setup information for the started TOTP MFA enrollment.
  - `options` TotpMfaEnrollmentOptions, required: Authenticator setup information for TOTP MFA enrollment.
    - `secret` string, required: Base32-encoded TOTP secret.
    - `uri` string, uri, required: Authenticator setup URI using the otpauth scheme.

## Changes

- **2026-10-27** `9b687835ed44`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/privy-io/apis/privy-api/changes/v1/users/:user_id/mfa/totp/enrollment/init/post.md)

---

[API](https://skmtc.dev/privy-io/apis/privy-api.md) - [All operations](https://skmtc.dev/privy-io/apis/privy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/privy-io/apis/privy-api/revisions/3a2288470053?raw)
