---
title: "Endpoint for signing up a new user"
method: POST
path: "/v1/signup"
tags: ["Accounts"]
---

# Endpoint for signing up a new user

`POST /v1/signup`

## Request body

- RobloxAuthenticationApiModelsSignupRequest
  - `username` string
  - `password` string
  - `gender` 1 | 2 | 3 — ['Unknown' = 1, 'Male' = 2, 'Female' = 3]
  - `birthday` string, date-time
  - `displayName` string
  - `isTosAgreementBoxChecked` boolean
  - `signupType` 0 | 1 — ['Regular' = 0, 'Express' = 1]
  - `email` string
  - `locale` string
  - `assetIds` integer[]
  - `bodyColorId` integer
  - `bodyTypeScale` number, double
  - `headScale` number, double
  - `heightScale` number, double
  - `widthScale` number, double
  - `proportionScale` number, double
  - `referralData` RobloxAuthenticationApiModelsReferralDataModel
    - `acquisitionTime` string, date-time
    - `acquisitionReferrer` string
    - `medium` string
    - `source` string
    - `campaign` string
    - `adGroup` string
    - `keyword` string
    - `matchType` string
    - `sendInfo` boolean
    - `requestSessionId` string
    - `offerId` string
  - `agreementIds` string[]
  - `identityVerificationResultToken` string
  - `secureAuthenticationIntent` RobloxAuthenticationApiModelsRequestSecureAuthenticationIntentModel
    - `clientPublicKey` string
    - `clientEpochTimestamp` integer
    - `saiSignature` string
    - `serverNonce` string
  - `otpSession` RobloxAuthenticationApiModelsRequestOtpSessionModel
    - `otpSessionToken` string
    - `otpContactType` 1 | 2 — ['Unset' = 1, 'Email' = 2]
  - `dataToken` string
  - `accountBlob` string
  - `passkeySessionId` string
  - `passkeyRegistrationResponse` 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]
  - `auditSystemContent` RobloxAuthenticationApiModelsRequestAuditSystemContent
    - `capturedAuditContent` object
    - `additionalAuditContent` object
  - `captchaId` string
  - `captchaToken` string
  - `captchaProvider` string
  - `challengeId` string

## Response `200`

OK

- RobloxAuthenticationApiModelsSignupResponse
  - `userId` integer
  - `starterPlaceId` integer
  - `returnUrl` string
  - `accountBlob` string

## Other responses

- `400` — Bad request 16: User agreement ids are null. 21: Empty account switch blob required
- `403` — 0: Token Validation Failed 2: Captcha Failed. 4: Invalid Birthday. 5: Invalid Username. 6: Username already taken. 7: Invalid Password. 8: Password and Username are same. 9: Password is too simple. 10: Email is invalid. 11: Asset is invalid. 12: Too many attempts. Please wait a bit. 17: One time Passcode session was not valid 22: Maximum logged in accounts limit reached.
- `429` — 3: Too many attempts. Please wait a bit.
- `500` — Internal server error 15: Insert acceptances failed. 27: Pre-auth passkey registration failed
- `503` — Service unavailable

## Changes

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

[Change history](https://skmtc.dev/roblox/apis/roblox-api/changes/v1/signup/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/d9b4ae8b3380/schema)
