Skip to content

Develop v2

Reference for the Develop v2 endpoints on Roblox.

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

Method Path Name
GET /v2/assets/:id/versions getAssetsIdVersions
GET /v2/places/:placeId getPlacesPlaceid
PATCH /v2/places/:placeId patchPlacesPlaceid
DELETE /v2/teamtest/:placeId deleteTeamtestPlaceid
PATCH /v2/universes/:universeId/configuration patchUniversesUniverseidConfiguration

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/endpoints/developv2';
const data = await fetchApi(getAssetsIdVersions, {
id: /* integer */,
cursor: /* string? */,
sortOrder: /* enum */
});
Name Type Required Description
id integer Yes The ID of the asset.Roblox.Platform.Assets.IAsset
cursor string? No The paging cursor for the previous or next page.
sortOrder enum Yes Sort by version number, default is desc.
Field Type Description
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
Id number
assetId number
assetVersionNumber number
creatorType string
creatorTargetId number
creatingUniverseId number
created string
isEqualToCurrentPublishedVersion boolean
isPublished boolean

GET /v2/places/:placeId

Gets the place configuration for the place with the id placeId

Usage
import { fetchApi } from 'rozod';
import { getPlacesPlaceid } from 'rozod/endpoints/developv2';
const data = await fetchApi(getPlacesPlaceid, {
placeId: /* integer */
});
Name Type Required Description
placeId integer Yes The place id for the place to be updated.
Field Type Description
maxPlayerCount number
socialSlotType string
customSocialSlotsCount number
allowCopying boolean
currentSavedVersion number
isAllGenresAllowed boolean
allowedGearTypes `0 8
maxPlayersAllowed number
created string
updated string
id number
universeId number
name string
description string
isRootPlace boolean
Status Description
401 0: Authorization has been denied for this request.
403 Authenticated user is not authorized to manage this place.
404 placeId 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/endpoints/developv2';
const data = await fetchApi(patchPlacesPlaceid, {
placeId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
placeId integer Yes The place id for the place to be updated.
Field Type Description
name string
description string
maxPlayerCount number
socialSlotType string
customSocialSlotsCount number
allowCopying boolean
allowedGearTypes string[]
isAllGenresAllowed boolean
Field Type Description
maxPlayerCount number
socialSlotType string
customSocialSlotsCount number
allowCopying boolean
currentSavedVersion number
isAllGenresAllowed boolean
allowedGearTypes `0 8
maxPlayersAllowed number
created string
updated string
id number
universeId number
name string
description string
isRootPlace boolean
Status Description
401 0: Authorization has been denied for this request.
403 Authenticated user is not authorized to manage this place.
0: Token Validation Failed
404 placeId 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/endpoints/developv2';
const data = await fetchApi(deleteTeamtestPlaceid, {
placeId: /* integer */,
gameId: /* string */
});
Name Type Required Description
placeId integer Yes The Id of the place we are setting the metadata for.
gameId string Yes the Guid of the game instance System.Guid

Type: unknown

Status Description
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed

PATCH /v2/universes/:universeId/configuration

Update universe settings for an owned universe.

Usage
import { fetchApi } from 'rozod';
import { patchUniversesUniverseidConfiguration } from 'rozod/endpoints/developv2';
const data = await fetchApi(patchUniversesUniverseidConfiguration, {
universeId: /* integer */,
body: { /* ... */ }
});
Name Type Required Description
universeId integer Yes The universeId.
Field Type Description
allowPrivateServers boolean
privateServerPrice number
name string
description string
promotionalText string
universeAvatarType `1 2
universeAnimationType `1 2`
universeCollisionType `1 2`
universeJointPositioningType `1 2`
engineAvatarSettings string
isArchived boolean
isFriendsOnly boolean
genre `0 1
playableDevices `1 2
isForSale boolean
price number
universeAvatarAssetOverrides object[] See below
universeAvatarMinScales object See below
universeAvatarMaxScales object See below
studioAccessToApisAllowed boolean
permissions object See below
optInRegions `0 1[]`
optOutRegions `0 1[]`
isMeshTextureApiAccessAllowed boolean
isRewardedOnDemandAdsAllowed boolean
fiatBasePriceId string
fiatProductChangeType `0 1
audiences `0 1
demoModeEnabled boolean

universeAvatarAssetOverrides[] item fields:

Field Type Description
assetID number
assetTypeID number
isPlayerChoice boolean

universeAvatarMinScales fields:

Field Type Description
height number
width number
head number
depth number
proportion number
bodyType number

universeAvatarMaxScales fields:

Field Type Description
height number
width number
head number
depth number
proportion number
bodyType number

permissions fields:

Field Type Description
IsThirdPartyTeleportAllowed boolean
IsThirdPartyAssetAllowed boolean
IsThirdPartyPurchaseAllowed boolean
IsClientTeleportAllowed boolean
Field Type Description
allowPrivateServers boolean
privateServerPrice number
optInRegions object[] See below
isMeshTextureApiAccessAllowed boolean
isRewardedOnDemandAdsAllowed boolean
id number
name string
description string
promotionalText string
universeAvatarType `“MorphToR6” “PlayerChoice”
universeAnimationType `“Standard” “PlayerChoice”`
universeCollisionType `“InnerBox” “OuterBox”`
universeJointPositioningType `“Standard” “ArtistIntent”`
engineAvatarSettings string
isArchived boolean
isFriendsOnly boolean
genre `“All” “Tutorial”
playableDevices `1 2
isForSale boolean
price number
universeAvatarAssetOverrides object[] See below
universeAvatarMinScales object See below
universeAvatarMaxScales object See below
studioAccessToApisAllowed boolean
permissions object See below
isForSaleInFiat boolean
fiatBasePriceId string
fiatModerationStatus `“Invalid” “NotModerated”
audiences `0 1
demoModeEnabled boolean
demoModeChangeableAfter string

optInRegions[] item fields:

Field Type Description
region `“Unknown” “China”`
status string

universeAvatarAssetOverrides[] item fields:

Field Type Description
assetID number
assetTypeID number
isPlayerChoice boolean

universeAvatarMinScales fields:

Field Type Description
height number
width number
head number
depth number
proportion number
bodyType number

universeAvatarMaxScales fields:

Field Type Description
height number
width number
head number
depth number
proportion number
bodyType number

permissions fields:

Field Type Description
IsThirdPartyTeleportAllowed boolean
IsThirdPartyAssetAllowed boolean
IsThirdPartyPurchaseAllowed boolean
IsClientTeleportAllowed boolean
Status Description
400 1: 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.
41: You cannot change the private server price again so soon after the previous change. Please try again later.
44: The provided audience configuration is invalid. Ensure the audience list contains only supported audience values.
52: Promotional text has been rejected.
401 0: Authorization has been denied for this request.
403 0: 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.
45: The creator of this experience is not eligible to set this audience.
409 9: Failed to shutdown all intances of game after changing AvatarType. The change has been reverted.
500 43: Failed to update the audience configuration. The change was not applied. Please try again.
503 53: Promotional text safety validation is temporarily unavailable.