Develop v2
Reference for the Develop v2 endpoints on Roblox.
Base URL: https://develop.roblox.com
Endpoints
Section titled “Endpoints”| 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 |
getAssetsIdVersions
Section titled “getAssetsIdVersions”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 */});Parameters
Section titled “Parameters”| 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. |
Response
Section titled “Response”| 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 |
getPlacesPlaceid
Section titled “getPlacesPlaceid”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 */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
placeId | integer | Yes | The place id for the place to be updated. |
Response
Section titled “Response”| 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 |
Errors
Section titled “Errors”| 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. |
patchPlacesPlaceid
Section titled “patchPlacesPlaceid”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: { /* ... */ }});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
placeId | integer | Yes | The place id for the place to be updated. |
Request Body
Section titled “Request Body”| Field | Type | Description |
|---|---|---|
name | string | |
description | string | |
maxPlayerCount | number | |
socialSlotType | string | |
customSocialSlotsCount | number | |
allowCopying | boolean | |
allowedGearTypes | string[] | |
isAllGenresAllowed | boolean |
Response
Section titled “Response”| 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 |
Errors
Section titled “Errors”| 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. |
deleteTeamtestPlaceid
Section titled “deleteTeamtestPlaceid”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 */});Parameters
Section titled “Parameters”| 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 |
Response
Section titled “Response”Type: unknown
Errors
Section titled “Errors”| Status | Description |
|---|---|
| 401 | 0: Authorization has been denied for this request. |
| 403 | 0: Token Validation Failed |
patchUniversesUniverseidConfiguration
Section titled “patchUniversesUniverseidConfiguration”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: { /* ... */ }});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
universeId | integer | Yes | The universeId. |
Request Body
Section titled “Request Body”| Field | Type | Description |
|---|---|---|
allowPrivateServers | boolean | |
privateServerPrice | number | |
name | string | |
description | 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 |
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 |
Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
allowPrivateServers | boolean | |
privateServerPrice | number | |
optInRegions | object[] | See below |
isMeshTextureApiAccessAllowed | boolean | |
isRewardedOnDemandAdsAllowed | boolean | |
id | number | |
name | string | |
description | 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" |
eligibleForTextChatMigration | boolean |
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 |
Errors
Section titled “Errors”| 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. |
| 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. |
| 409 | 9: Failed to shutdown all intances of game after changing AvatarType. The change has been reverted. |