---
title: "Update universe settings for an owned universe.
V2 Contains data for avatar scale and asset override."
method: PATCH
path: "/v2/universes/{universeId}/configuration"
tags: ["Universes"]
---

# Update universe settings for an owned universe.
V2 Contains data for avatar scale and asset override.

`PATCH /v2/universes/{universeId}/configuration`

## Path parameters

- `universeId` integer, required

## Request body

- RobloxApiDevelopModelsUniverseSettingsRequestV2 — Model for UniverseSettings patch requests
  - `allowPrivateServers` boolean — If the universe allows the use of private servers.
  - `privateServerPrice` integer — The price to purchase a private server in robux.
  - `name` string — The name of the universe.
  - `description` string — The description of the universe.
  - `universeAvatarType` 1 | 2 | 3 — Which avatar types are allowed in the universe.
  - `universeAnimationType` 1 | 2 — Whether custom animations are allowed in the universe.
  - `universeCollisionType` 1 | 2 — What type of collisions are used by the universe.
  - `universeJointPositioningType` 1 | 2 — What avatar joint positioning type is allowed by the universe.
  - `engineAvatarSettings` string — Optional JSON string used to store avatar settings used by the game engine. Will not be updated if null or empty. To clear settings, set to empty JSON object "{}". Note: This is an experimental field which may be changed or removed in future.
  - `isArchived` boolean — Archive status of the universe.
  - `isFriendsOnly` boolean — Whether game access is limited to friends for user-owned games or group members for group-owned games.
  - `genre` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 — Game genre.
  - `playableDevices` integer[] — List of device types this game can be played on.
  - `isForSale` boolean — Whether the game is offered for sale.
  - `price` integer — Price of the game, in Robux.
  - `universeAvatarAssetOverrides` RobloxPlatformUniverseSettingsUniverseAvatarAssetOverrideResponseModel[] — A list of avatar asset overrides.
    - `assetID` integer
    - `assetTypeID` integer
    - `isPlayerChoice` boolean
  - `universeAvatarMinScales` RobloxWebResponsesAvatarScaleModel
    - `height` number, double
    - `width` number, double
    - `head` number, double
    - `depth` number, double
    - `proportion` number, double
    - `bodyType` number, double
  - `universeAvatarMaxScales` RobloxWebResponsesAvatarScaleModel
    - `height` number, double
    - `width` number, double
    - `head` number, double
    - `depth` number, double
    - `proportion` number, double
    - `bodyType` number, double
  - `studioAccessToApisAllowed` boolean — Whether Studio can access data stores of this universe.
  - `permissions` RobloxUniversePluginPermissionAuthorityModelsUniversePluginPermissions
    - `IsThirdPartyTeleportAllowed` boolean
    - `IsThirdPartyAssetAllowed` boolean
    - `IsThirdPartyPurchaseAllowed` boolean
    - `IsClientTeleportAllowed` boolean
  - `optInRegions` integer[] — A list of opt in region.
  - `optOutRegions` integer[] — A list of opt out region.
  - `isMeshTextureApiAccessAllowed` boolean — Sets whether access to APIs for mesh and texture is enabled for this universe.
  - `isRewardedOnDemandAdsAllowed` boolean — Whether rewarded on-demand ads are allowed for this universe.
  - `fiatBasePriceId` string — Sets the base price of the experience for Fiat purchases.
  - `fiatProductChangeType` 0 | 1 | 2 | 3 — Determines the change type of the Fiat Product Change request. Can either Activate, Update Base Price, or Deactivate.
  - `audiences` integer[] — The audiences this universe should be visible to (e.g. Editors, PlayTesters, Friends, Public). When provided, replaces the universe's existing audience set with the supplied values.
  - `demoModeEnabled` boolean — Whether demo mode is enabled for this paid access game.

## Response `200`

OK

- RobloxApiDevelopModelsUniverseSettingsResponseV2 — Model for UniverseSettings controller responses
  - `allowPrivateServers` boolean — If the universe allows the use of private servers.
  - `privateServerPrice` integer — The price to purchase a private server in robux.
  - `optInRegions` RobloxApiDevelopModelsUniverseModerationPolicyStatus[] — The regions the universe has opted in for
    - `region` 0 | 1 — The region policy label ['Unknown' = 0, 'China' = 1]
    - `status` string — The status of the universe
  - `isMeshTextureApiAccessAllowed` boolean — Whether access to APIs for mesh and texture is enabled for this universe.
  - `isRewardedOnDemandAdsAllowed` boolean — Whether rewarded on-demand ads are allowed for this universe.
  - `id` integer — The universe Id.
  - `name` string — The universe name.
  - `description` string — The universe description.
  - `universeAvatarType` 1 | 2 | 3 — Which avatar types are allowed in the universe. ['MorphToR6' = 1, 'PlayerChoice' = 2, 'MorphToR15' = 3]
  - `universeAnimationType` 1 | 2 — Whether custom animations are allowed in the universe. ['Standard' = 1, 'PlayerChoice' = 2]
  - `universeCollisionType` 1 | 2 — What type of collisions are used by the universe. ['InnerBox' = 1, 'OuterBox' = 2]
  - `universeJointPositioningType` 1 | 2 — What avatar joint positioning is allowed by the universe. ['Standard' = 1, 'ArtistIntent' = 2]
  - `engineAvatarSettings` string — Optional JSON string used to store avatar settings used by the game engine. Note: This is an experimental field which may be changed or removed in future.
  - `isArchived` boolean — Archive status of the universe
  - `isFriendsOnly` boolean — Whether game access is limited to friends for user-owned games or group members for group-owned games.
  - `genre` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 — Game genre. ['All' = 0, 'Tutorial' = 1, 'Scary' = 2, 'TownAndCity' = 3, 'War' = 4, 'Funny' = 5, 'Fantasy' = 6, 'Adventure' = 7, 'SciFi' = 8, 'Pirate' = 9, 'FPS' = 10, 'RPG' = 11, 'Sports' = 12, 'Ninja' = 13, 'WildWest' = 14]
  - `playableDevices` integer[] — List of device types this game can be played on.
  - `isForSale` boolean — Whether the game is offered for sale.
  - `price` integer — Price of the game, in Robux.
  - `universeAvatarAssetOverrides` RobloxPlatformUniverseSettingsUniverseAvatarAssetOverrideResponseModel[] — A collection of avatar asset settings allowed by the universe.
    - `assetID` integer
    - `assetTypeID` integer
    - `isPlayerChoice` boolean
  - `universeAvatarMinScales` RobloxWebResponsesAvatarScaleModel
    - `height` number, double
    - `width` number, double
    - `head` number, double
    - `depth` number, double
    - `proportion` number, double
    - `bodyType` number, double
  - `universeAvatarMaxScales` RobloxWebResponsesAvatarScaleModel
    - `height` number, double
    - `width` number, double
    - `head` number, double
    - `depth` number, double
    - `proportion` number, double
    - `bodyType` number, double
  - `studioAccessToApisAllowed` boolean — Whether Studio can access data stores of this universe.
  - `permissions` RobloxUniversePluginPermissionAuthorityModelsUniversePluginPermissions
    - `IsThirdPartyTeleportAllowed` boolean
    - `IsThirdPartyAssetAllowed` boolean
    - `IsThirdPartyPurchaseAllowed` boolean
    - `IsClientTeleportAllowed` boolean
  - `isForSaleInFiat` boolean — Whether the game is offered for sale in fiat.
  - `fiatBasePriceId` string — The basePriceId for the Fiat product.
  - `fiatModerationStatus` 0 | 1 | 2 | 3 | 4 — The current moderation status of the game if it is for sale in fiat. ['Invalid' = 0, 'NotModerated' = 1, 'Pending' = 2, 'Approved' = 3, 'Rejected' = 4]
  - `audiences` integer[] — The audiences this universe is visible to (e.g. Editors, PlayTesters, Friends, Public). Always non-null; may be empty when audience visibility has not been configured.
  - `demoModeEnabled` boolean — Whether demo mode is enabled.
  - `demoModeChangeableAfter` string, date-time — The earliest time at which demo mode can be toggled again (ISO 8601). Null when no cooldown is active (i.e. demo mode can be changed immediately).

## Other responses

- `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.
- `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.

---

[API](https://skmtc.net/roblox/apis/roblox-api.md) · [All operations](https://skmtc.net/roblox/apis/roblox-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/roblox/roblox-api/versions/e15802062270/schema)
