---
title: "Authenticates as a user given a two step verification verification token."
method: POST
path: "/v3/users/{userId}/two-step-verification/login"
tags: ["Accounts"]
---

# Authenticates as a user given a two step verification verification token.

`POST /v3/users/{userId}/two-step-verification/login`

## Path parameters

- `userId` integer, required

## Request body

- RobloxAuthenticationApiTwoStepVerificationLoginRequest
  - `challengeId` string
  - `verificationToken` string
  - `rememberDevice` boolean
  - `secureAuthenticationIntent` RobloxAuthenticationApiModelsRequestSecureAuthenticationIntentModel
    - `clientPublicKey` string
    - `clientEpochTimestamp` integer
    - `saiSignature` string
    - `serverNonce` string
  - `accountBlob` string
  - `accountLinkParameters` RobloxAuthenticationApiModelsAccountLinkParameters
    - `LinkingPlatform` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 999 — ['Invalid' = 0, 'Xbox' = 1, 'Qq' = 2, 'WeChat' = 3, 'Facebook' = 4, 'RobloxDeveloper' = 5, 'RobloxGroupCreator' = 6, 'Playstation' = 7, 'ExternalProvider' = 8, 'Steam' = 9, 'Example' = 999]

## Response `200`

OK

- RobloxAuthenticationApiModelsTwoStepVerificationV3LoginResponse
  - `identityVerificationLoginTicket` string
  - `accountBlob` string

## Other responses

- `400` — 1: User is invalid. 5: Invalid two step verification ticket. 10: Invalid verification token.
- `403` — 0: Token Validation Failed 11: Maxium logged in accounts limit reached.

## Changes

- **2026-09-03** `d9b4ae8b3380` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/roblox/apis/roblox-api/changes/v3/users/:userId/two-step-verification/login/post.md)

---

[API](https://skmtc.dev/roblox/apis/roblox-api.md) · [All operations](https://skmtc.dev/roblox/apis/roblox-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/roblox/roblox-api/revisions/ce82f06a4ba6/schema)
