---
title: "Api 2Fa Confirm"
method: POST
path: "/api/me/2fa/confirm"
---

# Api 2Fa Confirm

`POST /api/me/2fa/confirm`

## Request

- Base URL: `https://sleipnir.tv` (the document declares no server; this is the origin it was published from)
- URL: `https://sleipnir.tv/api/me/2fa/confirm`
- Auth: none declared

Confirm 2FA enrollment with a TOTP code.

On success:
  - Promotes pending secret to active
  - Clears pending columns
  - Sets totp_enabled=True
  - Generates 10 backup codes, hashes and encrypts them
  - Returns plaintext backup codes (one-time display)

Existing sessions stay alive. The user's next login will require
the TOTP code (handled by Layer 3 login integration).

## Cookies

- `relay_session` string, nullable

## Request body

- TotpConfirmBody
  - `code` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sleipnir/apis/relay-control-plane.md) · [All operations](https://skmtc.dev/sleipnir/apis/relay-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/sleipnir/apis/relay-control-plane/revisions/79829f6945a4?raw)
