Skip to content

Account Settings v1

Reference for the Account Settings v1 endpoints on Roblox.

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

Method Path Name
GET /v1/account/settings/account-country getAccountSettingsAccountCountry
POST /v1/account/settings/account-country postAccountSettingsAccountCountry
GET /v1/account/settings/metadata getAccountSettingsMetadata
GET /v1/email getEmail
POST /v1/email postEmail
PATCH /v1/email patchEmail
POST /v1/email/verify postEmailVerify
GET /v1/emails getEmails
GET /v1/themes/:consumerType/:consumerId getThemesConsumertypeConsumerid
PATCH /v1/themes/:consumerType/:consumerId patchThemesConsumertypeConsumerid
GET /v1/themes/types getThemesTypes
GET /v1/trade-privacy getTradePrivacy
POST /v1/trade-privacy postTradePrivacy
GET /v1/trade-value getTradeValue
POST /v1/trade-value postTradeValue

GET /v1/account/settings/account-country

Get a user’s current account country setting.

Usage
import { fetchApi } from 'rozod';
import { getAccountSettingsAccountCountry } from 'rozod/endpoints/accountsettingsv1';
const data = await fetchApi(getAccountSettingsAccountCountry, undefined);
Field Type Description
value object See below

value fields:

Field Type Description
countryName string
subdivisionIso string
localizedSubdivision string
localizedName string
countryId number
Status Description
401 0: 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/endpoints/accountsettingsv1';
const data = await fetchApi(postAccountSettingsAccountCountry, {
body: { /* ... */ }
});
Field Type Description
targetCountryId number

Type: unknown

Status Description
400 1: InvalidRequest
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
2: OperationNotPermitted
404 2: OperationNotPermitted
500 0: Unknown

GET /v1/account/settings/metadata

Returns metadata used by the account settings page

Usage
import { fetchApi } from 'rozod';
import { getAccountSettingsMetadata } from 'rozod/endpoints/accountsettingsv1';
const data = await fetchApi(getAccountSettingsMetadata, undefined);
Field Type Description
IsAccountsRestrictionsSpamBugFixEnabled boolean
MaximumParentalControlsMonthlySpendLimitInUSD number
IsParentalMonthlyLimitInUIEnabled boolean
IsParentalNotificationSettingsInUIEnabled boolean
IsContentControlsEnabled boolean
Status Description
401 0: 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/endpoints/accountsettingsv1';
const data = await fetchApi(getEmail, undefined);
Field Type Description
emailAddress string
verified boolean
canBypassPasswordForEmailUpdate boolean
Status Description
401 0: 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/endpoints/accountsettingsv1';
const data = await fetchApi(postEmail, {
body: { /* ... */ }
});
Field Type Description
password string
emailAddress string
skipVerificationEmail boolean
isAdsAccount boolean

Type: unknown

Status Description
400 8: Password is incorrect.
9: Invalid email address.
401 0: Authorization has been denied for this request.
403 0: 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.
409 4: This is already the current email.
429 6: Too many attempts to update email. Please try again later.
7: Too many attempts to send verification email. Please try again later.
503 2: 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/endpoints/accountsettingsv1';
const data = await fetchApi(patchEmail, {
body: { /* ... */ }
});
Field Type Description
password string
emailAddress string
skipVerificationEmail boolean
isAdsAccount boolean

Type: unknown

Status Description
400 8: Password is incorrect.
9: Invalid email address.
401 0: Authorization has been denied for this request.
403 0: 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.
409 4: This is already the current email.
429 6: Too many attempts to update email. Please try again later.
7: Too many attempts to send verification email. Please try again later.
503 2: 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/endpoints/accountsettingsv1';
const data = await fetchApi(postEmailVerify, {
body: { /* ... */ }
});

Type: SendVerifyEmailRequest.optional()

Type: unknown

Status Description
400 10: No email address is associated with the account.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
2: This feature is currently disabled. Please try again later.
11: You must be on the Corporate network to log in.
409 5: The email is already verified.
429 7: Too many attempts to send verification email. Please try again later.
503 2: 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/endpoints/accountsettingsv1';
const data = await fetchApi(getEmails, undefined);
Field Type Description
verifiedEmail string
pendingEmail string
Status Description
401 0: 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/endpoints/accountsettingsv1';
const data = await fetchApi(getThemesConsumertypeConsumerid, {
consumerType: /* unknown */,
consumerId: /* string */
});
Name Type Required Description
consumerType unknown Yes The consumer type
consumerId string Yes The consumer’s theme configuration to get. If the consumerType is User always return the AuthenticatedUser’s theme type.
Field Type Description
themeType string
Status Description
400 3: Invalid consumer type.
401 0: 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/endpoints/accountsettingsv1';
const data = await fetchApi(patchThemesConsumertypeConsumerid, {
consumerType: /* unknown */,
consumerId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
consumerType unknown Yes The consumer type
consumerId integer Yes The consumer’s theme configuration to modify. If the consumerType is User always modify the AuthenticatedUser’s theme type.
Field Type Description
themeType string

Type: unknown

Status Description
400 2: Invalid theme type.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed

GET /v1/themes/types

returns all the enabled theme types.

Usage
import { fetchApi } from 'rozod';
import { getThemesTypes } from 'rozod/endpoints/accountsettingsv1';
const data = await fetchApi(getThemesTypes, undefined);
Field Type Description
data string[]

GET /v1/trade-privacy

Get a user’s trade privacy setting

Usage
import { fetchApi } from 'rozod';
import { getTradePrivacy } from 'rozod/endpoints/accountsettingsv1';
const data = await fetchApi(getTradePrivacy, undefined);
Field Type Description
tradePrivacy string
Status Description
401 0: 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/endpoints/accountsettingsv1';
const data = await fetchApi(postTradePrivacy, {
body: { /* ... */ }
});
Field Type Description
tradePrivacy `“Undefined” “Disabled”
Field Type Description
tradePrivacy `“Undefined” “Disabled”
inventoryPrivacy `“NoOne” “Friends”
privacySettingResponse `“Success” “Conflict”`
Status Description
400 Roblox.AccountSettings.Api.ResponseEnums.TradeSettingsErrors.InvalidTradePrivacy
401 0: Authorization has been denied for this request.
403 Roblox.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/endpoints/accountsettingsv1';
const data = await fetchApi(getTradeValue, undefined);
Field Type Description
tradeValue string
Status Description
401 0: 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/endpoints/accountsettingsv1';
const data = await fetchApi(postTradeValue, {
body: { /* ... */ }
});
Field Type Description
tradeValue `“Undefined” “None”

Type: unknown

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