Skip to content

Develop v2

Reference for the Develop v2 endpoints on Roblox.

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

MethodPathName
GET/v2/assets/:id/versionsgetAssetsIdVersions
GET/v2/places/:placeIdgetPlacesPlaceid
PATCH/v2/places/:placeIdpatchPlacesPlaceid
DELETE/v2/teamtest/:placeIddeleteTeamtestPlaceid
PATCH/v2/universes/:universeId/configurationpatchUniversesUniverseidConfiguration

GET /v2/assets/:id/versions

Retrieves asset information for the specified asset ID. The authenticated user must be able to manage the asset

Usage
import { fetchApi } from 'rozod';
import { getAssetsIdVersions } from 'rozod/lib/endpoints/developv2';
const data = await fetchApi(getAssetsIdVersions, {
id: /* integer */,
cursor: /* string? */,
sortOrder: /* enum */
});
NameTypeRequiredDescription
idintegerYesThe ID of the asset.Roblox.Platform.Assets.IAsset
cursorstring?NoThe paging cursor for the previous or next page.
sortOrderenumYesSort by version number, default is desc.
FieldTypeDescription
previousPageCursorstring
nextPageCursorstring
dataobject[]See below

data[] item fields:

FieldTypeDescription
Idnumber
assetIdnumber
assetVersionNumbernumber
creatorTypestring
creatorTargetIdnumber
creatingUniverseIdnumber
createdstring
isEqualToCurrentPublishedVersionboolean
isPublishedboolean

GET /v2/places/:placeId

Gets the place configuration for the place with the id placeId

Usage
import { fetchApi } from 'rozod';
import { getPlacesPlaceid } from 'rozod/lib/endpoints/developv2';
const data = await fetchApi(getPlacesPlaceid, {
placeId: /* integer */
});
NameTypeRequiredDescription
placeIdintegerYesThe place id for the place to be updated.
FieldTypeDescription
maxPlayerCountnumber
socialSlotTypestring
customSocialSlotsCountnumber
allowCopyingboolean
currentSavedVersionnumber
isAllGenresAllowedboolean
allowedGearTypes`08
maxPlayersAllowednumber
createdstring
updatedstring
idnumber
universeIdnumber
namestring
descriptionstring
isRootPlaceboolean
StatusDescription
4010: Authorization has been denied for this request.
403Authenticated user is not authorized to manage this place.
404placeId Place not found.

PATCH /v2/places/:placeId

Updates the place configuration for the place with the id placeId

Usage
import { fetchApi } from 'rozod';
import { patchPlacesPlaceid } from 'rozod/lib/endpoints/developv2';
const data = await fetchApi(patchPlacesPlaceid, {
placeId: /* integer */,
body: { /* ... */ }
});
NameTypeRequiredDescription
placeIdintegerYesThe place id for the place to be updated.
FieldTypeDescription
namestring
descriptionstring
maxPlayerCountnumber
socialSlotTypestring
customSocialSlotsCountnumber
allowCopyingboolean
allowedGearTypesstring[]
isAllGenresAllowedboolean
FieldTypeDescription
maxPlayerCountnumber
socialSlotTypestring
customSocialSlotsCountnumber
allowCopyingboolean
currentSavedVersionnumber
isAllGenresAllowedboolean
allowedGearTypes`08
maxPlayersAllowednumber
createdstring
updatedstring
idnumber
universeIdnumber
namestring
descriptionstring
isRootPlaceboolean
StatusDescription
4010: Authorization has been denied for this request.
403Authenticated user is not authorized to manage this place.
0: Token Validation Failed
404placeId Place not found.

DELETE /v2/teamtest/:placeId

Close a game instance that is being used for team testing

Usage
import { fetchApi } from 'rozod';
import { deleteTeamtestPlaceid } from 'rozod/lib/endpoints/developv2';
const data = await fetchApi(deleteTeamtestPlaceid, {
placeId: /* integer */,
gameId: /* string */
});
NameTypeRequiredDescription
placeIdintegerYesThe Id of the place we are setting the metadata for.
gameIdstringYesthe Guid of the game instance System.Guid

Type: unknown

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

PATCH /v2/universes/:universeId/configuration

Update universe settings for an owned universe.

Usage
import { fetchApi } from 'rozod';
import { patchUniversesUniverseidConfiguration } from 'rozod/lib/endpoints/developv2';
const data = await fetchApi(patchUniversesUniverseidConfiguration, {
universeId: /* integer */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universeIdintegerYesThe universeId.
FieldTypeDescription
allowPrivateServersboolean
privateServerPricenumber
namestring
descriptionstring
universeAvatarType`12
universeAnimationType`12`
universeCollisionType`12`
universeJointPositioningType`12`
engineAvatarSettingsstring
isArchivedboolean
isFriendsOnlyboolean
genre`01
playableDevices`12
isForSaleboolean
pricenumber
universeAvatarAssetOverridesobject[]See below
universeAvatarMinScalesobjectSee below
universeAvatarMaxScalesobjectSee below
studioAccessToApisAllowedboolean
permissionsobjectSee below
optInRegions`01[]`
optOutRegions`01[]`
isMeshTextureApiAccessAllowedboolean
isRewardedOnDemandAdsAllowedboolean
fiatBasePriceIdstring
fiatProductChangeType`01

universeAvatarAssetOverrides[] item fields:

FieldTypeDescription
assetIDnumber
assetTypeIDnumber
isPlayerChoiceboolean

universeAvatarMinScales fields:

FieldTypeDescription
heightnumber
widthnumber
headnumber
depthnumber
proportionnumber
bodyTypenumber

universeAvatarMaxScales fields:

FieldTypeDescription
heightnumber
widthnumber
headnumber
depthnumber
proportionnumber
bodyTypenumber

permissions fields:

FieldTypeDescription
IsThirdPartyTeleportAllowedboolean
IsThirdPartyAssetAllowedboolean
IsThirdPartyPurchaseAllowedboolean
IsClientTeleportAllowedboolean
FieldTypeDescription
allowPrivateServersboolean
privateServerPricenumber
optInRegionsobject[]See below
isMeshTextureApiAccessAllowedboolean
isRewardedOnDemandAdsAllowedboolean
idnumber
namestring
descriptionstring
universeAvatarType`“MorphToR6""PlayerChoice"
universeAnimationType`“Standard""PlayerChoice”`
universeCollisionType`“InnerBox""OuterBox”`
universeJointPositioningType`“Standard""ArtistIntent”`
engineAvatarSettingsstring
isArchivedboolean
isFriendsOnlyboolean
genre`“All""Tutorial"
playableDevices`12
isForSaleboolean
pricenumber
universeAvatarAssetOverridesobject[]See below
universeAvatarMinScalesobjectSee below
universeAvatarMaxScalesobjectSee below
studioAccessToApisAllowedboolean
permissionsobjectSee below
isForSaleInFiatboolean
fiatBasePriceIdstring
fiatModerationStatus`“Invalid""NotModerated"
eligibleForTextChatMigrationboolean

optInRegions[] item fields:

FieldTypeDescription
region`“Unknown""China”`
statusstring

universeAvatarAssetOverrides[] item fields:

FieldTypeDescription
assetIDnumber
assetTypeIDnumber
isPlayerChoiceboolean

universeAvatarMinScales fields:

FieldTypeDescription
heightnumber
widthnumber
headnumber
depthnumber
proportionnumber
bodyTypenumber

universeAvatarMaxScales fields:

FieldTypeDescription
heightnumber
widthnumber
headnumber
depthnumber
proportionnumber
bodyTypenumber

permissions fields:

FieldTypeDescription
IsThirdPartyTeleportAllowedboolean
IsThirdPartyAssetAllowedboolean
IsThirdPartyPurchaseAllowedboolean
IsClientTeleportAllowedboolean
StatusDescription
4001: The universe does not exist.
3: Invalid UniverseAvatarType.
4: Invalid UniverseScaleType.
5: Invalid UniverseAnimationType.
6: Invalid UniverseCollisionType.
7: New universe name or description has been rejected.
8: New universe name is too long.
10: Invalid UniverseBodyType.
11: Invalid UniverseJointPositioningType.
12: The universe has no root place.
15: Price is required when isForSale is true.
16: This game cannot be offered for sale because it is not public.
17: This game cannot be offered for sale because it has private servers enabled.
18: The game price is outside of the allowed range.
19: Invalid genre.
20: The request body is missing.
21: Invalid device type.
22: Invalid asset type.
23: Invalid value, the min must be less than or equal to the max
24: Invalid scale value
28: OptIn/Out Regions Not Supported.
4010: Authorization has been denied for this request.
4030: Token Validation Failed
2: You are not authorized to configure this universe.
14: You are not authorized to sell games.
29: Luobu app terms of service user agreement is missing.
30: Unknown error while updating Opt in out region.
4099: Failed to shutdown all intances of game after changing AvatarType. The change has been reverted.