Skip to content

Account Settings v1

Reference for the Account Settings v1 endpoints on Roblox.

Base URL: https://accountsettings.roblox.com

MethodPathName
GET/v1/account/settings/account-countrygetAccountSettingsAccountCountry
POST/v1/account/settings/account-countrypostAccountSettingsAccountCountry
GET/v1/account/settings/metadatagetAccountSettingsMetadata
GET/v1/emailgetEmail
POST/v1/emailpostEmail
PATCH/v1/emailpatchEmail
POST/v1/email/verifypostEmailVerify
GET/v1/emailsgetEmails
GET/v1/themes/:consumerType/:consumerIdgetThemesConsumertypeConsumerid
PATCH/v1/themes/:consumerType/:consumerIdpatchThemesConsumertypeConsumerid
GET/v1/themes/typesgetThemesTypes
GET/v1/trade-privacygetTradePrivacy
POST/v1/trade-privacypostTradePrivacy
GET/v1/trade-valuegetTradeValue
POST/v1/trade-valuepostTradeValue

GET /v1/account/settings/account-country

Get a user’s current account country setting.

Usage
import { fetchApi } from 'rozod';
import { getAccountSettingsAccountCountry } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(getAccountSettingsAccountCountry, undefined);
FieldTypeDescription
valueobjectSee below

value fields:

FieldTypeDescription
countryNamestring
subdivisionIsostring
localizedSubdivisionstring
localizedNamestring
countryIdnumber
StatusDescription
4010: Authorization has been denied for this request.

POST /v1/account/settings/account-country

Updates the user’s account country.

Usage
import { fetchApi } from 'rozod';
import { postAccountSettingsAccountCountry } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(postAccountSettingsAccountCountry, {
body: { /* ... */ }
});
FieldTypeDescription
targetCountryIdnumber

Type: unknown

StatusDescription
4001: InvalidRequest
4010: Authorization has been denied for this request.
4030: Token Validation Failed
2: OperationNotPermitted
4042: OperationNotPermitted
5000: Unknown

GET /v1/account/settings/metadata

Returns metadata used by the account settings page

Usage
import { fetchApi } from 'rozod';
import { getAccountSettingsMetadata } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(getAccountSettingsMetadata, undefined);
FieldTypeDescription
IsAccountsRestrictionsSpamBugFixEnabledboolean
MaximumParentalControlsMonthlySpendLimitInUSDnumber
IsParentalMonthlyLimitInUIEnabledboolean
IsParentalNotificationSettingsInUIEnabledboolean
IsContentControlsEnabledboolean
StatusDescription
4010: Authorization has been denied for this request.

GET /v1/email

Gets the authenticated user’s email address and verified status

Usage
import { fetchApi } from 'rozod';
import { getEmail } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(getEmail, undefined);
FieldTypeDescription
emailAddressstring
verifiedboolean
canBypassPasswordForEmailUpdateboolean
StatusDescription
4010: Authorization has been denied for this request.

POST /v1/email

Updates the authenticated user’s email address

Usage
import { fetchApi } from 'rozod';
import { postEmail } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(postEmail, {
body: { /* ... */ }
});
FieldTypeDescription
passwordstring
emailAddressstring
skipVerificationEmailboolean
isAdsAccountboolean

Type: unknown

StatusDescription
4008: Password is incorrect.
9: Invalid email address.
4010: Authorization has been denied for this request.
4030: Token Validation Failed
2: This feature is currently disabled. Please try again later.
3: There are too many accounts associated with this email address.
11: You must be on the Corporate network to log in.
4094: This is already the current email.
4296: Too many attempts to update email. Please try again later.
7: Too many attempts to send verification email. Please try again later.
5032: This feature is currently disabled. Please try again later.

PATCH /v1/email

Updates the authenticated user’s email address

Usage
import { fetchApi } from 'rozod';
import { patchEmail } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(patchEmail, {
body: { /* ... */ }
});
FieldTypeDescription
passwordstring
emailAddressstring
skipVerificationEmailboolean
isAdsAccountboolean

Type: unknown

StatusDescription
4008: Password is incorrect.
9: Invalid email address.
4010: Authorization has been denied for this request.
4030: Token Validation Failed
2: This feature is currently disabled. Please try again later.
3: There are too many accounts associated with this email address.
11: You must be on the Corporate network to log in.
4094: This is already the current email.
4296: Too many attempts to update email. Please try again later.
7: Too many attempts to send verification email. Please try again later.
5032: This feature is currently disabled. Please try again later.

POST /v1/email/verify

Send verify email to the authenticated user’s email address

Usage
import { fetchApi } from 'rozod';
import { postEmailVerify } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(postEmailVerify, {
body: { /* ... */ }
});

Type: SendVerifyEmailRequest.optional()

Type: unknown

StatusDescription
40010: No email address is associated with the account.
4010: Authorization has been denied for this request.
4030: Token Validation Failed
2: This feature is currently disabled. Please try again later.
11: You must be on the Corporate network to log in.
4095: The email is already verified.
4297: Too many attempts to send verification email. Please try again later.
5032: This feature is currently disabled. Please try again later.

GET /v1/emails

Gets the authenticated user’s verified email and pending (unverified) email if one exists

Usage
import { fetchApi } from 'rozod';
import { getEmails } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(getEmails, undefined);
FieldTypeDescription
verifiedEmailstring
pendingEmailstring
StatusDescription
4010: Authorization has been denied for this request.

GET /v1/themes/:consumerType/:consumerId

returns the theme type for a specific consumer.

Usage
import { fetchApi } from 'rozod';
import { getThemesConsumertypeConsumerid } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(getThemesConsumertypeConsumerid, {
consumerType: /* unknown */,
consumerId: /* string */
});
NameTypeRequiredDescription
consumerTypeunknownYesThe consumer type
consumerIdstringYesThe consumer’s theme configuration to get. If the consumerType is User always return the AuthenticatedUser’s theme type.
FieldTypeDescription
themeTypestring
StatusDescription
4003: Invalid consumer type.
4010: Authorization has been denied for this request.

PATCH /v1/themes/:consumerType/:consumerId

Modify the theme type for consumer.

Usage
import { fetchApi } from 'rozod';
import { patchThemesConsumertypeConsumerid } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(patchThemesConsumertypeConsumerid, {
consumerType: /* unknown */,
consumerId: /* integer */,
body: { /* ... */ }
});
NameTypeRequiredDescription
consumerTypeunknownYesThe consumer type
consumerIdintegerYesThe consumer’s theme configuration to modify. If the consumerType is User always modify the AuthenticatedUser’s theme type.
FieldTypeDescription
themeTypestring

Type: unknown

StatusDescription
4002: Invalid theme type.
4010: Authorization has been denied for this request.
4030: Token Validation Failed

GET /v1/themes/types

returns all the enabled theme types.

Usage
import { fetchApi } from 'rozod';
import { getThemesTypes } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(getThemesTypes, undefined);
FieldTypeDescription
datastring[]

GET /v1/trade-privacy

Get a user’s trade privacy setting

Usage
import { fetchApi } from 'rozod';
import { getTradePrivacy } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(getTradePrivacy, undefined);
FieldTypeDescription
tradePrivacystring
StatusDescription
4010: Authorization has been denied for this request.

POST /v1/trade-privacy

Updates a user’s trade privacy setting

Usage
import { fetchApi } from 'rozod';
import { postTradePrivacy } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(postTradePrivacy, {
body: { /* ... */ }
});
FieldTypeDescription
tradePrivacy`“Undefined""Disabled"
FieldTypeDescription
tradePrivacy`“Undefined""Disabled"
inventoryPrivacy`“NoOne""Friends"
privacySettingResponse`“Success""Conflict”`
StatusDescription
400Roblox.AccountSettings.Api.ResponseEnums.TradeSettingsErrors.InvalidTradePrivacy
4010: Authorization has been denied for this request.
403Roblox.AccountSettings.Api.ResponseEnums.TradeSettingsErrors.AccountLocked
OR
Roblox.AccountSettings.Api.ResponseEnums.TradeSettingsErrors.UserCannotTrade
0: Token Validation Failed

GET /v1/trade-value

Get a user’s trade quality filter setting

Usage
import { fetchApi } from 'rozod';
import { getTradeValue } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(getTradeValue, undefined);
FieldTypeDescription
tradeValuestring
StatusDescription
4010: Authorization has been denied for this request.

POST /v1/trade-value

Updates a user’s trade quality filter setting

Usage
import { fetchApi } from 'rozod';
import { postTradeValue } from 'rozod/lib/endpoints/accountsettingsv1';
const data = await fetchApi(postTradeValue, {
body: { /* ... */ }
});
FieldTypeDescription
tradeValue`“Undefined""None"

Type: unknown

StatusDescription
400Roblox.AccountSettings.Api.ResponseEnums.TradeSettingsErrors.InvalidTradeValue
4010: Authorization has been denied for this request.
403Roblox.AccountSettings.Api.ResponseEnums.TradeSettingsErrors.AccountLocked
OR
Roblox.AccountSettings.Api.ResponseEnums.TradeSettingsErrors.UserCannotTrade
0: Token Validation Failed