---
title: "Verify 2Fa"
method: POST
path: "/api/v1/auth/2fa/verify"
tags: ["Two-Factor Authentication"]
---

# Verify 2Fa

`POST /api/v1/auth/2fa/verify`

## Request

- Base URL: `https://app.perlucem.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.perlucem.ai/api/v1/auth/2fa/verify`
- Auth: none declared

Verify SMS code and complete authentication.

Process:
1. Validate session token
2. Verify SMS code with Twilio
3. If valid, optionally trust device
4. Return Cognito tokens

## Request body

- TwoFAVerifyRequest: Request to verify SMS code.
  - `session_token` string, required
  - `code` string, required
  - `trust_device` boolean
  - `device_fingerprint` string, nullable
  - `device_name` string, nullable

## Response `200`

Successful Response

- TwoFAVerifyResponse: Response from 2FA verification.
  - `success` boolean, required
  - `id_token` string, nullable
  - `access_token` string, nullable
  - `error` string, nullable
  - `attempts_remaining` integer, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/perlucem/apis/perlucem-ai-backend.md) · [All operations](https://skmtc.dev/perlucem/apis/perlucem-ai-backend/llms.txt) · [OpenAPI document](https://skmtc.dev/perlucem/apis/perlucem-ai-backend/revisions/e1830fb27394?raw)
