Overview
Completes the verification process by validating the code entered by a user in the Roblox game. This endpoint is called from the game server and verifies the user’s identity.Procedure Type
Mutation - This endpoint modifies the verification session state.Authentication
This endpoint requires game server authentication via thegameVerificationProcedure. It can only be called from authorized Roblox game servers.
Input Parameters
The verification code entered by the user in the Roblox game.Validation:
- Must be trimmed of whitespace
- Minimum length: 6 characters
- Maximum length: 12 characters
The Roblox user ID of the player completing verification.Validation:
- Must be a string containing only digits (e.g., “123456789”)
- Pattern:
/^\d+$/
Response Fields
Always returns
true on success. The verification session is marked as completed and the JWT will be available via the checkVerification endpoint.Rate Limiting
Per User:- Limit: 20 requests per user
- Window: 60 seconds (1 minute)
- Key:
robloxUserId
- Error Code:
TOO_MANY_REQUESTS - Message:
Rate limit hit. Try again in {seconds}s.
Error Codes
Rate limit exceeded for this user. Wait for the retry period to expire.Message:
Rate limit hit. Try again in {seconds}s.Invalid or expired verification code.Possible Messages:
Invalid or expired verification code- Code not found or session missingVerification code expired- Session has passed its expiration time
Failed to fetch Roblox user profile. The user ID may be invalid.Message:
Failed to fetch Roblox user profileFailed to retrieve user information from Roblox API.Possible Messages:
Failed to fetch Roblox user headshotRoblox user headshot not available
Example Usage
Use Cases
- Verifying user identity from within a Roblox game
- Linking Roblox accounts to web application sessions
- Completing the authentication handshake initiated by
beginVerification
Implementation Notes
- This endpoint fetches the user’s Roblox profile (username, display name, picture)
- The verification code is removed from the active codes map after successful verification
- The session remains active until expiration but the completed JWT is cached
- Users must check their verification status using
checkVerificationto retrieve the JWT - Session expiration is checked before processing the verification