Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.
POST /v1/account/upgrade — openapi
Attaches a sign-in credential to the calling account.
The caller is the account being upgraded, so the request carries no user ID and the session is the authorization. The call is safe to retry: each field is compared against the account first, and a field the account already holds is dropped rather than rewritten.
The moderation filter is bypassed because an account held by a birthday compliance restriction is Suppressed and lifts that restriction through this call. Every upgrade type still passes its own eligibility gate.
Endpoint
Method: POST
Path: /v1/account/upgrade
Servers:
https://auth.roblox.com
Request Body
The Roblox.Authentication.Api.Models.AccountUpgradeRequest.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Roblox.Authentication.Api.Models.AccountUpgradeRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Roblox.Authentication.Api.Models.AccountUpgradeRequest"
}
}
},
"description": "The Roblox.Authentication.Api.Models.AccountUpgradeRequest.",
"required": true
} Responses
| Status | Description |
|---|---|
| 200 | OK |
| 400 | 5: Account upgrade requires a password. 6: Invalid Birthday. 8: The upgrade type is missing, unknown, or not available. 9: A supplied field is not allowed for the declared upgrade type. 10: A birthday is required for this account. 11: Invalid username. 12: This username is already in use. 13: Invalid password. 14: Invalid email address. 15: Too many accounts use this email address. |
| 401 | 0: Authorization has been denied for this request. 3: Not eligible for account upgrade. |
| 403 | 0: Token Validation Failed 3: Not eligible for account upgrade. 16: This account already holds a sign-in credential. |
| 429 | 4: Too many attempts. Please wait a bit. |
| 500 | 1: Unknown Error 7: Account upgrade failed. |
| 503 | 2: Account upgrade is disabled. |
{
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Roblox.Authentication.Api.Models.AccountUpgradeResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Roblox.Authentication.Api.Models.AccountUpgradeResponse"
}
}
}
},
"400": {
"description": "5: Account upgrade requires a password.\r\n6: Invalid Birthday.\r\n8: The upgrade type is missing, unknown, or not available.\r\n9: A supplied field is not allowed for the declared upgrade type.\r\n10: A birthday is required for this account.\r\n11: Invalid username.\r\n12: This username is already in use.\r\n13: Invalid password.\r\n14: Invalid email address.\r\n15: Too many accounts use this email address."
},
"401": {
"description": "0: Authorization has been denied for this request.\r\n3: Not eligible for account upgrade."
},
"403": {
"description": "0: Token Validation Failed\r\n3: Not eligible for account upgrade.\r\n16: This account already holds a sign-in credential."
},
"429": {
"description": "4: Too many attempts. Please wait a bit."
},
"500": {
"description": "1: Unknown Error\r\n7: Account upgrade failed."
},
"503": {
"description": "2: Account upgrade is disabled."
}
} 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
Complete Operation Definition
{
"summary": "Attaches a sign-in credential to the calling account.",
"description": "The caller is the account being upgraded, so the request carries no user ID and the\nsession is the authorization. The call is safe to retry: each field is compared against\nthe account first, and a field the account already holds is dropped rather than rewritten.\n\nThe moderation filter is bypassed because an account held by a birthday compliance\nrestriction is Suppressed and lifts that restriction through this call. Every upgrade type\nstill passes its own eligibility gate.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Roblox.Authentication.Api.Models.AccountUpgradeRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Roblox.Authentication.Api.Models.AccountUpgradeRequest"
}
}
},
"description": "The Roblox.Authentication.Api.Models.AccountUpgradeRequest.",
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Roblox.Authentication.Api.Models.AccountUpgradeResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Roblox.Authentication.Api.Models.AccountUpgradeResponse"
}
}
}
},
"400": {
"description": "5: Account upgrade requires a password.\r\n6: Invalid Birthday.\r\n8: The upgrade type is missing, unknown, or not available.\r\n9: A supplied field is not allowed for the declared upgrade type.\r\n10: A birthday is required for this account.\r\n11: Invalid username.\r\n12: This username is already in use.\r\n13: Invalid password.\r\n14: Invalid email address.\r\n15: Too many accounts use this email address."
},
"401": {
"description": "0: Authorization has been denied for this request.\r\n3: Not eligible for account upgrade."
},
"403": {
"description": "0: Token Validation Failed\r\n3: Not eligible for account upgrade.\r\n16: This account already holds a sign-in credential."
},
"429": {
"description": "4: Too many attempts. Please wait a bit."
},
"500": {
"description": "1: Unknown Error\r\n7: Account upgrade failed."
},
"503": {
"description": "2: Account upgrade is disabled."
}
},
"servers": [
{
"url": "https://auth.roblox.com"
}
]
}