---
title: "Complete MFA verification"
method: POST
path: "/api/cis/v1/auth/factors/{factorId}/verify"
tags: ["Auth"]
---

# Complete MFA verification

`POST /api/cis/v1/auth/factors/{factorId}/verify`

Verify an MFA factor during authentication. On success, a new session
with `mfaVerified: true` JWT claim is issued and the old session is revoked.

## Path parameters

- `factorId` string, uuid, required

## Headers

- `x-tenant-id` string, required

## Request body

- VerifyMfaRequest
  - `sessionId` string, uuid, required
  - `code` string, required

## Response `200`

MFA verified

- object
  - `sessionId` string, uuid
  - `accessToken` string — JWT (HS256 or ES256)
  - `expiresIn` integer — Token TTL in seconds
  - `refreshToken` string
  - `mfaRequired` boolean — True if MFA step is needed before full access
  - `mfaVerified` boolean

## Other responses

- `400` — Invalid code or factor state
- `404` — Resource not found

---

[API](https://skmtc.net/stalela/apis/stalela-cis-customer-identity-service-api.md) · [All operations](https://skmtc.net/stalela/apis/stalela-cis-customer-identity-service-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/stalela/stalela-cis-customer-identity-service-api/revisions/3065faad0b6b/schema)
