Skip to content

Localization Tables v1

Reference for the Localization Tables v1 endpoints on Roblox.

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

MethodPathName
POST/v1/auto-localization-table/games/:gameId/assets-generation-requestpostAutoLocalizationTableGamesGameidAssetsGenerationRequest
POST/v1/auto-localization-table/games/:gameId/auto-scrape-cleanup-requestpostAutoLocalizationTableGamesGameidAutoScrapeCleanupRequest
PATCH/v1/auto-localization-table/games/:gameId/ingestionpatchAutoLocalizationTableGamesGameidIngestion
POST/v1/autolocalization/games/:gameId/autolocalizationtablepostAutolocalizationGamesGameidAutolocalizationtable
PATCH/v1/autolocalization/games/:gameId/autolocalizationtablepatchAutolocalizationGamesGameidAutolocalizationtable
PATCH/v1/autolocalization/games/:gameId/settingspatchAutolocalizationGamesGameidSettings
GET/v1/autolocalization/metadatagetAutolocalizationMetadata
GET/v1/localization-table/available-languagesgetLocalizationTableAvailableLanguages
GET/v1/localization-table/limitsgetLocalizationTableLimits
GET/v1/localization-table/metadatagetLocalizationTableMetadata
POST/v1/localization-table/tablespostLocalizationTableTables
GET/v1/localization-table/tables/:assetIdgetLocalizationTableTablesAssetid
GET/v1/localization-table/tables/:tableIdgetLocalizationTableTablesTableid
PATCH/v1/localization-table/tables/:tableIdpatchLocalizationTableTablesTableid
GET/v1/localization-table/tables/:tableId/entriesgetLocalizationTableTablesTableidEntries
POST/v1/localization-table/tables/:tableId/entries/translation-feedbackpostLocalizationTableTablesTableidEntriesTranslationFeedback
POST/v1/localization-table/tables/:tableId/entries/translation-historypostLocalizationTableTablesTableidEntriesTranslationHistory
GET/v1/localization-table/tables/:tableId/entry-countgetLocalizationTableTablesTableidEntryCount

postAutoLocalizationTableGamesGameidAssetsGenerationRequest

Section titled “postAutoLocalizationTableGamesGameidAssetsGenerationRequest”

POST /v1/auto-localization-table/games/:gameId/assets-generation-request

Generates localization asset of a game.

Usage
import { fetchApi } from 'rozod';
import { postAutoLocalizationTableGamesGameidAssetsGenerationRequest } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(postAutoLocalizationTableGamesGameidAssetsGenerationRequest, {
gameId: /* integer */
});
NameTypeRequiredDescription
gameIdintegerYesThe game id.

Type: unknown

StatusDescription
4003: Invalid table id.
14: Invalid game id
29: You do not have permission to generate asset for this table.
32: LocalizationTable is not available for the game.
34: Actor provided is invalid
4010: Authorization has been denied for this request.
4030: Token Validation Failed
42924: Too many attempts.Please try again later.

postAutoLocalizationTableGamesGameidAutoScrapeCleanupRequest

Section titled “postAutoLocalizationTableGamesGameidAutoScrapeCleanupRequest”

POST /v1/auto-localization-table/games/:gameId/auto-scrape-cleanup-request

Enqueues an event to flush the auto scraped entries which doesn’t have translations.

Usage
import { fetchApi } from 'rozod';
import { postAutoLocalizationTableGamesGameidAutoScrapeCleanupRequest } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(postAutoLocalizationTableGamesGameidAutoScrapeCleanupRequest, {
gameId: /* integer */,
body: { /* ... */ }
});
NameTypeRequiredDescription
gameIdintegerYesThe id of the game.
FieldTypeDescription
maxAgeForFlushstring

Type: unknown

StatusDescription
40014: Invalid game id
31: You do not have permission to flush auto scraped entries asset for this game.
32: LocalizationTable is not available for the game.
34: Actor provided is invalid
4010: Authorization has been denied for this request.
4030: Token Validation Failed
42933: Too many attempts to flush the game.Please try again later.

patchAutoLocalizationTableGamesGameidIngestion

Section titled “patchAutoLocalizationTableGamesGameidIngestion”

PATCH /v1/auto-localization-table/games/:gameId/ingestion

Ingests entries for auto localization. Needs to be an authorized user.

Usage
import { fetchApi } from 'rozod';
import { patchAutoLocalizationTableGamesGameidIngestion } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(patchAutoLocalizationTableGamesGameidIngestion, {
gameId: /* integer */,
body: { /* ... */ }
});
NameTypeRequiredDescription
gameIdintegerYesThe game id.
FieldTypeDescription
entriesobject[]See below
metadataobjectSee below

entries[] item fields:

FieldTypeDescription
contextstring
sourcestring
screenshotstring
metaobjectSee below

meta fields:

FieldTypeDescription
textstring
userIdnumber
osPlatformstring
sessionIdstring
matchedEntryobjectSee below

matchedEntry fields:

FieldTypeDescription
sourcestring
matchedParamIndexnumber

metadata fields:

FieldTypeDescription
placeInformationobjectSee below

placeInformation fields:

FieldTypeDescription
placeIdnumber
placeVersionNumbernumber

Type: unknown

StatusDescription
40010: Maximum entries exceeded. Please keep the number of entries per request below the maximum.
13: Request body can’t be null
16: Entries can’t be null or empty
34: Actor provided is invalid
4010: Authorization has been denied for this request.
4030: Token Validation Failed
50317: Feature is disabled

postAutolocalizationGamesGameidAutolocalizationtable

Section titled “postAutolocalizationGamesGameidAutolocalizationtable”

POST /v1/autolocalization/games/:gameId/autolocalizationtable

Usage
import { fetchApi } from 'rozod';
import { postAutolocalizationGamesGameidAutolocalizationtable } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(postAutolocalizationGamesGameidAutolocalizationtable, {
gameId: /* integer */
});
NameTypeRequiredDescription
gameIdintegerYes
FieldTypeDescription
isAutolocalizationEnabledboolean
isAutomaticEntriesSettingEnabledboolean
isAutomaticEntriesDeletionEnabledboolean
shouldUseLocalizationTableboolean
autoLocalizationTableIdstring
sourceLanguagestring
assetIdnumber
StatusDescription
4010: Authorization has been denied for this request.
4030: Token Validation Failed

patchAutolocalizationGamesGameidAutolocalizationtable

Section titled “patchAutolocalizationGamesGameidAutolocalizationtable”

PATCH /v1/autolocalization/games/:gameId/autolocalizationtable

Usage
import { fetchApi } from 'rozod';
import { patchAutolocalizationGamesGameidAutolocalizationtable } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(patchAutolocalizationGamesGameidAutolocalizationtable, {
gameId: /* integer */,
body: { /* ... */ }
});
NameTypeRequiredDescription
gameIdintegerYes
FieldTypeDescription
tableIdstring

Type: unknown

StatusDescription
4010: Authorization has been denied for this request.
4030: Token Validation Failed

PATCH /v1/autolocalization/games/:gameId/settings

Sets a game’s auto-localization related settings

Usage
import { fetchApi } from 'rozod';
import { patchAutolocalizationGamesGameidSettings } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(patchAutolocalizationGamesGameidSettings, {
gameId: /* integer */,
body: { /* ... */ }
});
NameTypeRequiredDescription
gameIdintegerYesThe id of the game.
FieldTypeDescription
isAutolocalizationEnabledboolean
isAutomaticEntriesSettingEnabledboolean
isAutomaticEntriesDeletionsEnabledboolean
shouldUseLocalizationTableboolean

Type: unknown

StatusDescription
40014: Invalid game id
61: IsAutomaticEntriesSettingEnabled can only be enabled if IsAutolocalizationEnabled is also enabled.
4010: Authorization has been denied for this request.
4030: Token Validation Failed
18: You do not have permission to manage this game
50317: Feature is disabled

GET /v1/autolocalization/metadata

Metadata for AutoLocalization Configuration

Usage
import { fetchApi } from 'rozod';
import { getAutolocalizationMetadata } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(getAutolocalizationMetadata, undefined);
FieldTypeDescription
isReactVersionEnabledForAutoLocalizationSettingsboolean
isTabbedUIEnabledForConfigureLocalizationPageboolean
isAutomaticTranslationToggleUIEnabledboolean
isAutomaticTranslationQuotaUIEnabledboolean
StatusDescription
4010: Authorization has been denied for this request.

GET /v1/localization-table/available-languages

Gets the supported language codes that can be used by localization tables.

Usage
import { fetchApi } from 'rozod';
import { getLocalizationTableAvailableLanguages } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(getLocalizationTableAvailableLanguages, undefined);
FieldTypeDescription
dataobject[]See below

data[] item fields:

FieldTypeDescription
namestring
nativeNamestring
languageCodestring

GET /v1/localization-table/limits

Get limits for translation table entries operations

Usage
import { fetchApi } from 'rozod';
import { getLocalizationTableLimits } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(getLocalizationTableLimits, undefined);
FieldTypeDescription
entryOperationLimitsobjectSee below
tableOperationLimitsobjectSee below

entryOperationLimits fields:

FieldTypeDescription
maxContextLengthnumber
maxKeyLengthnumber
maxSourceLengthnumber
maxExampleLengthnumber
maxGameLocationPathLengthnumber

tableOperationLimits fields:

FieldTypeDescription
maxEntriesPerUpdatenumber
StatusDescription
4010: Authorization has been denied for this request.

GET /v1/localization-table/metadata

Get metadata for localization UI

Usage
import { fetchApi } from 'rozod';
import { getLocalizationTableMetadata } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(getLocalizationTableMetadata, undefined);
FieldTypeDescription
isBulkUploadFeatureEnabledboolean
isCsvDownloadEnabledboolean
isAccessToTranslationMetaDataEnabledboolean
isTranslationManagementRedirectionEnabledboolean
isUntranslatedFilterEnabledboolean
isAutomaticTranslationFilterEnabledboolean

POST /v1/localization-table/tables

Creates a Localization Table with the given data.

Usage
import { fetchApi } from 'rozod';
import { postLocalizationTableTables } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(postLocalizationTableTables, {
body: { /* ... */ }
});
FieldTypeDescription
namestring
ownerType`“User""Group”`
ownerIdnumber
FieldTypeDescription
idstring
assetIdnumber
StatusDescription
4010: Authorization has been denied for this request.
4030: Token Validation Failed
2: You do not have permission to get this table.

GET /v1/localization-table/tables/:assetId

Get table information by the assetId of the table.

Usage
import { fetchApi } from 'rozod';
import { getLocalizationTableTablesAssetid } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(getLocalizationTableTablesAssetid, {
assetId: /* integer */
});
NameTypeRequiredDescription
assetIdintegerYesThe asset id associated with the table.
FieldTypeDescription
idstring
namestring
ownerType`“User""Group”`
ownerIdnumber
assetIdnumber
StatusDescription
40012: Invalid asset id.
4010: Authorization has been denied for this request.
4032: You do not have permission to get this table.

GET /v1/localization-table/tables/:tableId

Get table information by the id of the table.

Usage
import { fetchApi } from 'rozod';
import { getLocalizationTableTablesTableid } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(getLocalizationTableTablesTableid, {
tableId: /* string */
});
NameTypeRequiredDescription
tableIdstringYes
FieldTypeDescription
idstring
namestring
ownerType`“User""Group”`
ownerIdnumber
assetIdnumber
StatusDescription
4003: Invalid table id.
4010: Authorization has been denied for this request.
4032: You do not have permission to get this table.

PATCH /v1/localization-table/tables/:tableId

Updates the tables contents based on what is provided.

Usage
import { fetchApi } from 'rozod';
import { patchLocalizationTableTablesTableid } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(patchLocalizationTableTablesTableid, {
tableId: /* string */,
gameId: /* integer? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
tableIdstringYesThe table guid for the table to update.
gameIdinteger?NoThe game id.
FieldTypeDescription
namestring
entriesobject[]See below

entries[] item fields:

FieldTypeDescription
identifierobjectSee below
metadataobjectSee below
translationsobject[]See below
deleteboolean

identifier fields:

FieldTypeDescription
keystring
contextstring
sourcestring
entryFormat`“Invalid""Legacy"

metadata fields:

FieldTypeDescription
examplestring
gameLocationsobject[]See below
entryFormat`“Invalid""Legacy"

gameLocations[] item fields:

FieldTypeDescription
pathstring

translations[] item fields:

FieldTypeDescription
localestring
translationTextstring
deleteboolean
changeAgentobjectSee below
updatedTimestring

changeAgent fields:

FieldTypeDescription
ChangeAgentType`“Invalid""User"
Idstring
OptionalIdCase`“None""Id”`
FieldTypeDescription
failedEntriesAndTranslationsobject[]See below
modifiedEntriesAndTranslationsobject[]See below

failedEntriesAndTranslations[] item fields:

FieldTypeDescription
errorobjectSee below
identifierobjectSee below
metadataobjectSee below
translationsobject[]See below
createdTimestring

error fields:

FieldTypeDescription
errorCodenumber
errorMessagestring

identifier fields:

FieldTypeDescription
keystring
contextstring
sourcestring
entryFormat`“Invalid""Legacy"

metadata fields:

FieldTypeDescription
examplestring
gameLocationsobject[]See below
entryFormat`“Invalid""Legacy"

gameLocations[] item fields:

FieldTypeDescription
pathstring

translations[] item fields:

FieldTypeDescription
localestring
translationTextstring
translatorobjectSee below
updatedTimestring
feedbackCountnumber

translator fields:

FieldTypeDescription
idnumber
agentType`“User""Automation”`

modifiedEntriesAndTranslations[] item fields:

FieldTypeDescription
identifierobjectSee below
translationsobject[]See below

identifier fields:

FieldTypeDescription
keystring
contextstring
sourcestring
entryFormat`“Invalid""Legacy"

translations[] item fields:

FieldTypeDescription
localestring
translationTextstring
translatorobjectSee below
updatedTimestring
feedbackCountnumber

translator fields:

FieldTypeDescription
idnumber
agentType`“User""Automation”`
StatusDescription
4003: Invalid table id.
4: Table does not exist.
10: Maximum entries exceeded. Please keep the number of entries per request below the maximum.
13: Request body can’t be null
14: Invalid game id
4010: Authorization has been denied for this request.
4030: Token Validation Failed
6: You do not have permission to create this table.
50317: Feature is disabled

GET /v1/localization-table/tables/:tableId/entries

Gets a batch of entries for a table.

Usage
import { fetchApi } from 'rozod';
import { getLocalizationTableTablesTableidEntries } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(getLocalizationTableTablesTableidEntries, {
tableId: /* string */,
cursor: /* string? */,
gameId: /* integer? */,
entryFormat: /* enum */
});
NameTypeRequiredDescription
tableIdstringYes
cursorstring?NoIf null, there are no more entries in the table and you’ve reached the last page.
gameIdinteger?No
entryFormatenumYes
FieldTypeDescription
previousPageCursorstring
nextPageCursorstring
dataobject[]See below

data[] item fields:

FieldTypeDescription
identifierobjectSee below
metadataobjectSee below
translationsobject[]See below
createdTimestring

identifier fields:

FieldTypeDescription
keystring
contextstring
sourcestring
entryFormat`“Invalid""Legacy"

metadata fields:

FieldTypeDescription
examplestring
gameLocationsobject[]See below
entryFormat`“Invalid""Legacy"

gameLocations[] item fields:

FieldTypeDescription
pathstring

translations[] item fields:

FieldTypeDescription
localestring
translationTextstring
translatorobjectSee below
updatedTimestring
feedbackCountnumber

translator fields:

FieldTypeDescription
idnumber
agentType`“User""Automation”`
StatusDescription
4003: Invalid table id.
14: Invalid game id
4010: Authorization has been denied for this request.
4032: You do not have permission to get this table.

postLocalizationTableTablesTableidEntriesTranslationFeedback

Section titled “postLocalizationTableTablesTableidEntriesTranslationFeedback”

POST /v1/localization-table/tables/:tableId/entries/translation-feedback

Gets the translation feedback for each entry passed in.

Usage
import { fetchApi } from 'rozod';
import { postLocalizationTableTablesTableidEntriesTranslationFeedback } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(postLocalizationTableTablesTableidEntriesTranslationFeedback, {
tableId: /* string */,
gameId: /* integer? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
tableIdstringYesThe entries’ tableId.
gameIdinteger?NoThe game id.
FieldTypeDescription
sourceLocalestring
entriesobject[]See below

entries[] item fields:

FieldTypeDescription
translationobjectSee below
keystring
contextstring
sourcestring
entryFormat`“Invalid""Legacy"

translation fields:

FieldTypeDescription
localestring
translationTextstring
translatorobjectSee below
updatedTimestring
feedbackCountnumber

translator fields:

FieldTypeDescription
idnumber
agentType`“User""Automation”`
FieldTypeDescription
tableIdstring
entriesobject[]See below

entries[] item fields:

FieldTypeDescription
identifierobjectSee below
feedbackCountnumber
playerSuggestionTextstring[]
reasons`“None""Untranslated"
robloxSuggestionTextstring

identifier fields:

FieldTypeDescription
translationobjectSee below
keystring
contextstring
sourcestring
entryFormat`“Invalid""Legacy"

translation fields:

FieldTypeDescription
localestring
translationTextstring
translatorobjectSee below
updatedTimestring
feedbackCountnumber

translator fields:

FieldTypeDescription
idobject
agentTypeobject
StatusDescription
4003: Invalid table id.
13: Request body can’t be null
14: Invalid game id
16: Entries can’t be null or empty
35: The entries provided are invalid
37: Invalid locale code.
38: Invalid entry identifier.
4010: Authorization has been denied for this request.
4030: Token Validation Failed
2: You do not have permission to get this table.
42924: Too many attempts.Please try again later.
50317: Feature is disabled

postLocalizationTableTablesTableidEntriesTranslationHistory

Section titled “postLocalizationTableTablesTableidEntriesTranslationHistory”

POST /v1/localization-table/tables/:tableId/entries/translation-history

Gets the translation history for each entry passed in.

Usage
import { fetchApi } from 'rozod';
import { postLocalizationTableTablesTableidEntriesTranslationHistory } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(postLocalizationTableTablesTableidEntriesTranslationHistory, {
tableId: /* string */,
gameId: /* integer? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
tableIdstringYesThe entries’ tableId.
gameIdinteger?NoThe game id.
FieldTypeDescription
localestring
entriesobject[]See below

entries[] item fields:

FieldTypeDescription
cursorstring
identifierobjectSee below
countnumber
sortOrder`“Asc""Desc”`

identifier fields:

FieldTypeDescription
keystring
contextstring
sourcestring
entryFormat`“Invalid""Legacy"
FieldTypeDescription
tableIdstring
localestring
entriesobject[]See below
failedEntriesobject[]See below

entries[] item fields:

FieldTypeDescription
identifierobjectSee below
historyobject[]See below
nextCursorstring

identifier fields:

FieldTypeDescription
keystring
contextstring
sourcestring
entryFormat`“Invalid""Legacy"

history[] item fields:

FieldTypeDescription
translationTextstring
translatorobjectSee below
createdstring

translator fields:

FieldTypeDescription
idnumber
agentType`“User""Automation”`

failedEntries[] item fields:

FieldTypeDescription
identifierobjectSee below
countnumber
errorobjectSee below

identifier fields:

FieldTypeDescription
keystring
contextstring
sourcestring
entryFormat`“Invalid""Legacy"

error fields:

FieldTypeDescription
errorCodenumber
errorMessagestring
StatusDescription
4003: Invalid table id.
13: Request body can’t be null
14: Invalid game id
16: Entries can’t be null or empty
35: The entries provided are invalid
37: Invalid locale code.
38: Invalid entry identifier.
39: Count should be at least 1.
45: Invalid exclusive start id.
4010: Authorization has been denied for this request.
4030: Token Validation Failed
2: You do not have permission to get this table.
42924: Too many attempts.Please try again later.
50317: Feature is disabled

getLocalizationTableTablesTableidEntryCount

Section titled “getLocalizationTableTablesTableidEntryCount”

GET /v1/localization-table/tables/:tableId/entry-count

Gets the number of entries in the specified table

Usage
import { fetchApi } from 'rozod';
import { getLocalizationTableTablesTableidEntryCount } from 'rozod/lib/endpoints/localizationtablesv1';
const data = await fetchApi(getLocalizationTableTablesTableidEntryCount, {
tableId: /* string */,
gameId: /* integer? */,
entryFormat: /* enum */
});
NameTypeRequiredDescription
tableIdstringYesThe table id
gameIdinteger?NoThe game id
entryFormatenumYes
FieldTypeDescription
idstring
entryCountnumber
StatusDescription
4003: Invalid table id.
14: Invalid game id
4010: Authorization has been denied for this request.
4032: You do not have permission to get this table.