Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.
POST /v1/signup/linked — openapi
Endpoint for signing up a new user through linked authentication.
Endpoint
Method: POST
Path: /v1/signup/linked
Servers:
https://auth.roblox.com
Request Body
{
"$ref": "#/components/requestBodies/Roblox.Authentication.Api.Models.SignupRequest"
} Responses
| Status | Description |
|---|---|
| 200 | OK |
| 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. 29: Account Linking already exists on this account 30: Account Linking required but failed 44: Login is unavailable in your country. |
| 429 | 3: Too many attempts. Please wait a bit. |
| 500 | Internal server error 15: Insert acceptances failed. 27: Pre-auth passkey registration failed 30: Account Linking required but failed |
| 503 | 30: Account Linking required but failed |
{
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Roblox.Authentication.Api.Models.SignupResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Roblox.Authentication.Api.Models.SignupResponse"
}
}
}
},
"400": {
"description": "Bad request\r\n16: User agreement ids are null.\r\n21: Empty account switch blob required"
},
"403": {
"description": "0: Token Validation Failed\r\n2: Captcha Failed.\r\n4: Invalid Birthday.\r\n5: Invalid Username.\r\n6: Username already taken.\r\n7: Invalid Password.\r\n8: Password and Username are same.\r\n9: Password is too simple.\r\n10: Email is invalid.\r\n11: Asset is invalid.\r\n12: Too many attempts. Please wait a bit.\r\n17: One time Passcode session was not valid\r\n22: Maximum logged in accounts limit reached.\r\n29: Account Linking already exists on this account\r\n30: Account Linking required but failed\r\n44: Login is unavailable in your country."
},
"429": {
"description": "3: Too many attempts. Please wait a bit."
},
"500": {
"description": "Internal server error\r\n15: Insert acceptances failed.\r\n27: Pre-auth passkey registration failed\r\n30: Account Linking required but failed"
},
"503": {
"description": "30: Account Linking required but failed"
}
} Authentication
{
"security": [
{}
],
"securitySchemes": {
"roblox-api-key": {
"type": "apiKey",
"description": "A configurable key that allows granular access to Roblox resources. See https://create.roblox.com/docs/cloud/auth/api-keys for more information.",
"name": "x-api-key",
"in": "header"
},
"roblox-legacy-cookie": {
"type": "apiKey",
"description": "A browser cookie that represents the identity of a Roblox user. DO NOT SHARE THIS. Sharing this will allow someone to log in as you and to steal your Robux and items. We do not recommend using cookies to call endpoints. When possible, use API keys with the x-api-key header or OAuth 2.0 instead for authentication.",
"in": "cookie",
"name": ".ROBLOSECURITY"
},
"roblox-oauth2": {
"type": "oauth2",
"description": "Build or authorize apps to access Roblox resources. See https://create.roblox.com/docs/cloud/auth/oauth2-overview for more information.",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://apis.roblox.com/oauth/v1/authorize",
"tokenUrl": "https://apis.roblox.com/oauth/v1/token",
"refreshUrl": "https://apis.roblox.com/oauth/v1/token",
"scopes": {}
}
}
}
}
} Related Schemas
Related Components
Complete Operation Definition
{
"tags": [
"Accounts"
],
"summary": "Endpoint for signing up a new user through linked authentication.",
"requestBody": {
"$ref": "#/components/requestBodies/Roblox.Authentication.Api.Models.SignupRequest"
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Roblox.Authentication.Api.Models.SignupResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Roblox.Authentication.Api.Models.SignupResponse"
}
}
}
},
"400": {
"description": "Bad request\r\n16: User agreement ids are null.\r\n21: Empty account switch blob required"
},
"403": {
"description": "0: Token Validation Failed\r\n2: Captcha Failed.\r\n4: Invalid Birthday.\r\n5: Invalid Username.\r\n6: Username already taken.\r\n7: Invalid Password.\r\n8: Password and Username are same.\r\n9: Password is too simple.\r\n10: Email is invalid.\r\n11: Asset is invalid.\r\n12: Too many attempts. Please wait a bit.\r\n17: One time Passcode session was not valid\r\n22: Maximum logged in accounts limit reached.\r\n29: Account Linking already exists on this account\r\n30: Account Linking required but failed\r\n44: Login is unavailable in your country."
},
"429": {
"description": "3: Too many attempts. Please wait a bit."
},
"500": {
"description": "Internal server error\r\n15: Insert acceptances failed.\r\n27: Pre-auth passkey registration failed\r\n30: Account Linking required but failed"
},
"503": {
"description": "30: Account Linking required but failed"
}
},
"servers": [
{
"url": "https://auth.roblox.com"
}
],
"x-roblox-engine-usability": {
"apiKeyWithHttpService": false
},
"security": [
{}
],
"externalDocs": {
"url": "https://create.roblox.com/docs/cloud/reference/features/accounts#auth_post_v1_signup_linked"
},
"x-roblox-recommended-alternatives": [
{
"url": "https://auth.roblox.com/v2/signup/linked",
"httpMethod": "POST",
"documentationUrl": "https://create.roblox.com/docs/cloud/reference/features/accounts#auth_post_v2_signup_linked"
}
]
}