Skip to content

Cloud v2

OpenCloud v2 reference — the newer unified Cloud API covering a broad range of Roblox resources.

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

MethodPathName
POST/cloud/v2/creator-store-productspostCloudV2CreatorStoreProducts
GET/cloud/v2/creator-store-products/:creator_store_product_idgetCloudV2CreatorStoreProductsCreatorStoreProductId
PATCH/cloud/v2/creator-store-products/:creator_store_product_idpatchCloudV2CreatorStoreProductsCreatorStoreProductId
GET/cloud/v2/groups/:group_idgetCloudV2GroupsGroupId
GET/cloud/v2/groups/:group_id/forum-categoriesgetCloudV2GroupsGroupIdForumCategories
GET/cloud/v2/groups/:group_id/forum-categories/:forum_category_id/postsgetCloudV2GroupsGroupIdForumCategoriesForumCategoryIdPosts
GET/cloud/v2/groups/:group_id/forum-categories/:forum_category_id/posts/:post_id/commentsgetCloudV2GroupsGroupIdForumCategoriesForumCategoryIdPostsPostIdComments
GET/cloud/v2/groups/:group_id/join-requestsgetCloudV2GroupsGroupIdJoinRequests
POST/cloud/v2/groups/:group_id/join-requests/:join_request_id:acceptpostCloudV2GroupsGroupIdJoinRequestsJoinRequestIdAccept
POST/cloud/v2/groups/:group_id/join-requests/:join_request_id:declinepostCloudV2GroupsGroupIdJoinRequestsJoinRequestIdDecline
GET/cloud/v2/groups/:group_id/membershipsgetCloudV2GroupsGroupIdMemberships
PATCH/cloud/v2/groups/:group_id/memberships/:membership_idpatchCloudV2GroupsGroupIdMembershipsMembershipId
GET/cloud/v2/groups/:group_id/rolesgetCloudV2GroupsGroupIdRoles
GET/cloud/v2/groups/:group_id/roles/:role_idgetCloudV2GroupsGroupIdRolesRoleId
GET/cloud/v2/groups/:group_id/shoutgetCloudV2GroupsGroupIdShout
GET/cloud/v2/universes/:universe_idgetCloudV2UniversesUniverseId
PATCH/cloud/v2/universes/:universe_idpatchCloudV2UniversesUniverseId
POST/cloud/v2/universes/:universe_id:generateSpeechAssetpostCloudV2UniversesUniverseIdGenerateSpeechAsset
POST/cloud/v2/universes/:universe_id:publishMessagepostCloudV2UniversesUniverseIdPublishMessage
POST/cloud/v2/universes/:universe_id:restartServerspostCloudV2UniversesUniverseIdRestartServers
POST/cloud/v2/universes/:universe_id:translateTextpostCloudV2UniversesUniverseIdTranslateText
GET/cloud/v2/universes/:universe_id/data-storesgetCloudV2UniversesUniverseIdDataStores
POST/cloud/v2/universes/:universe_id/data-stores:snapshotpostCloudV2UniversesUniverseIdDataStoresSnapshot
DELETE/cloud/v2/universes/:universe_id/data-stores/:data_store_iddeleteCloudV2UniversesUniverseIdDataStoresDataStoreId
POST/cloud/v2/universes/:universe_id/data-stores/:data_store_id:undeletepostCloudV2UniversesUniverseIdDataStoresDataStoreIdUndelete
GET/cloud/v2/universes/:universe_id/data-stores/:data_store_id/entriesgetCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries
POST/cloud/v2/universes/:universe_id/data-stores/:data_store_id/entriespostCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries
GET/cloud/v2/universes/:universe_id/data-stores/:data_store_id/entries/:entry_idgetCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId
DELETE/cloud/v2/universes/:universe_id/data-stores/:data_store_id/entries/:entry_iddeleteCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId
PATCH/cloud/v2/universes/:universe_id/data-stores/:data_store_id/entries/:entry_idpatchCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId
POST/cloud/v2/universes/:universe_id/data-stores/:data_store_id/entries/:entry_id:incrementpostCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryIdIncrement
GET/cloud/v2/universes/:universe_id/data-stores/:data_store_id/entries/:entry_id:listRevisionsgetCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryIdListRevisions
GET/cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entriesgetCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntries
POST/cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entriespostCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntries
GET/cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entries/:entry_idgetCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId
DELETE/cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entries/:entry_iddeleteCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId
PATCH/cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entries/:entry_idpatchCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId
POST/cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entries/:entry_id:incrementpostCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryIdIncrement
GET/cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entries/:entry_id:listRevisionsgetCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryIdListRevisions
POST/cloud/v2/universes/:universe_id/luau-execution-session-task-binary-inputspostCloudV2UniversesUniverseIdLuauExecutionSessionTaskBinaryInputs
POST/cloud/v2/universes/:universe_id/memory-store:flushpostCloudV2UniversesUniverseIdMemoryStoreFlush
POST/cloud/v2/universes/:universe_id/memory-store/queues/:queue_id/itemspostCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItems
POST/cloud/v2/universes/:universe_id/memory-store/queues/:queue_id/items:discardpostCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItemsDiscard
GET/cloud/v2/universes/:universe_id/memory-store/queues/:queue_id/items:readgetCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItemsRead
GET/cloud/v2/universes/:universe_id/memory-store/sorted-maps/:sorted_map_id/itemsgetCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItems
POST/cloud/v2/universes/:universe_id/memory-store/sorted-maps/:sorted_map_id/itemspostCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItems
GET/cloud/v2/universes/:universe_id/memory-store/sorted-maps/:sorted_map_id/items/:item_idgetCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId
DELETE/cloud/v2/universes/:universe_id/memory-store/sorted-maps/:sorted_map_id/items/:item_iddeleteCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId
PATCH/cloud/v2/universes/:universe_id/memory-store/sorted-maps/:sorted_map_id/items/:item_idpatchCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId
GET/cloud/v2/universes/:universe_id/ordered-data-stores/:ordered_data_store_id/scopes/:scope_id/entriesgetCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntries
POST/cloud/v2/universes/:universe_id/ordered-data-stores/:ordered_data_store_id/scopes/:scope_id/entriespostCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntries
GET/cloud/v2/universes/:universe_id/ordered-data-stores/:ordered_data_store_id/scopes/:scope_id/entries/:entry_idgetCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId
DELETE/cloud/v2/universes/:universe_id/ordered-data-stores/:ordered_data_store_id/scopes/:scope_id/entries/:entry_iddeleteCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId
PATCH/cloud/v2/universes/:universe_id/ordered-data-stores/:ordered_data_store_id/scopes/:scope_id/entries/:entry_idpatchCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId
POST/cloud/v2/universes/:universe_id/ordered-data-stores/:ordered_data_store_id/scopes/:scope_id/entries/:entry_id:incrementpostCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryIdIncrement
GET/cloud/v2/universes/:universe_id/places/:place_idgetCloudV2UniversesUniverseIdPlacesPlaceId
PATCH/cloud/v2/universes/:universe_id/places/:place_idpatchCloudV2UniversesUniverseIdPlacesPlaceId
GET/cloud/v2/universes/:universe_id/places/:place_id/instances/:instance_idgetCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceId
PATCH/cloud/v2/universes/:universe_id/places/:place_id/instances/:instance_idpatchCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceId
GET/cloud/v2/universes/:universe_id/places/:place_id/instances/:instance_id:listChildrengetCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceIdListChildren
POST/cloud/v2/universes/:universe_id/places/:place_id/luau-execution-session-taskspostCloudV2UniversesUniverseIdPlacesPlaceIdLuauExecutionSessionTasks
GET/cloud/v2/universes/:universe_id/places/:place_id/user-restrictionsgetCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictions
GET/cloud/v2/universes/:universe_id/places/:place_id/user-restrictions/:user_restriction_idgetCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictionsUserRestrictionId
PATCH/cloud/v2/universes/:universe_id/places/:place_id/user-restrictions/:user_restriction_idpatchCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictionsUserRestrictionId
POST/cloud/v2/universes/:universe_id/places/:place_id/versions/:version_id/luau-execution-session-taskspostCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionTasks
GET/cloud/v2/universes/:universe_id/places/:place_id/versions/:version_id/luau-execution-sessions/:luau_execution_session_id/tasks/:task_idgetCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionsLuauExecutionSessionIdTasksTaskId
GET/cloud/v2/universes/:universe_id/places/:place_id/versions/:version_id/luau-execution-sessions/:luau_execution_session_id/tasks/:task_id/logsgetCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionsLuauExecutionSessionIdTasksTaskIdLogs
GET/cloud/v2/universes/:universe_id/subscription-products/:subscription_product_id/subscriptions/:subscription_idgetCloudV2UniversesUniverseIdSubscriptionProductsSubscriptionProductIdSubscriptionsSubscriptionId
GET/cloud/v2/universes/:universe_id/user-restrictionsgetCloudV2UniversesUniverseIdUserRestrictions
GET/cloud/v2/universes/:universe_id/user-restrictions:listLogsgetCloudV2UniversesUniverseIdUserRestrictionsListLogs
GET/cloud/v2/universes/:universe_id/user-restrictions/:user_restriction_idgetCloudV2UniversesUniverseIdUserRestrictionsUserRestrictionId
PATCH/cloud/v2/universes/:universe_id/user-restrictions/:user_restriction_idpatchCloudV2UniversesUniverseIdUserRestrictionsUserRestrictionId
GET/cloud/v2/users/:user_idgetCloudV2UsersUserId
GET/cloud/v2/users/:user_id:generateThumbnailgetCloudV2UsersUserIdGenerateThumbnail
GET/cloud/v2/users/:user_id/asset-quotasgetCloudV2UsersUserIdAssetQuotas
GET/cloud/v2/users/:user_id/inventory-itemsgetCloudV2UsersUserIdInventoryItems
POST/cloud/v2/users/:user_id/notificationspostCloudV2UsersUserIdNotifications

POST /cloud/v2/creator-store-products

BETA Add a Creator Store product. Only use this method if your product has never been distributed on the Creator Store; otherwise, use the PATCH method to update the product. Engine: Not available in-engine

Scopes: creator-store-product:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2CreatorStoreProducts } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2CreatorStoreProducts, {
body: { /* ... */ }
});
FieldTypeDescription
pathstring
basePriceobjectSee below
purchasePriceobjectSee below
publishedboolean
restrictions`“RESTRICTION_UNSPECIFIED""SOLD_ITEM_RESTRICTED"
purchasableboolean
userSellerstring
groupSellerstring
modelAssetIdstring
pluginAssetIdstring
audioAssetIdstring
decalAssetIdstring
meshPartAssetIdstring
videoAssetIdstring
fontFamilyAssetIdstring

basePrice fields:

FieldTypeDescription
currencyCodestring
quantityobjectSee below

quantity fields:

FieldTypeDescription
significandnumber
exponentnumber

purchasePrice fields:

FieldTypeDescription
currencyCodestring
quantityobjectSee below

quantity fields:

FieldTypeDescription
significandnumber
exponentnumber
FieldTypeDescription
pathstring
basePriceobjectSee below
purchasePriceobjectSee below
publishedboolean
restrictions`“RESTRICTION_UNSPECIFIED""SOLD_ITEM_RESTRICTED"
purchasableboolean
userSellerstring
groupSellerstring
modelAssetIdstring
pluginAssetIdstring
audioAssetIdstring
decalAssetIdstring
meshPartAssetIdstring
videoAssetIdstring
fontFamilyAssetIdstring

basePrice fields:

FieldTypeDescription
currencyCodestring
quantityobjectSee below

quantity fields:

FieldTypeDescription
significandnumber
exponentnumber

purchasePrice fields:

FieldTypeDescription
currencyCodestring
quantityobjectSee below

quantity fields:

FieldTypeDescription
significandnumber
exponentnumber

getCloudV2CreatorStoreProductsCreatorStoreProductId

Section titled “getCloudV2CreatorStoreProductsCreatorStoreProductId”

GET /cloud/v2/creator-store-products/:creator_store_product_id

BETA Get a Creator Store product. Engine: Not available in-engine

Scopes: creator-store-product:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2CreatorStoreProductsCreatorStoreProductId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2CreatorStoreProductsCreatorStoreProductId, {
creator_store_product_id: /* string */
});
NameTypeRequiredDescription
creator_store_product_idstringYesThe creator-store-product ID.
FieldTypeDescription
pathstring
basePriceobjectSee below
purchasePriceobjectSee below
publishedboolean
restrictions`“RESTRICTION_UNSPECIFIED""SOLD_ITEM_RESTRICTED"
purchasableboolean
userSellerstring
groupSellerstring
modelAssetIdstring
pluginAssetIdstring
audioAssetIdstring
decalAssetIdstring
meshPartAssetIdstring
videoAssetIdstring
fontFamilyAssetIdstring

basePrice fields:

FieldTypeDescription
currencyCodestring
quantityobjectSee below

quantity fields:

FieldTypeDescription
significandnumber
exponentnumber

purchasePrice fields:

FieldTypeDescription
currencyCodestring
quantityobjectSee below

quantity fields:

FieldTypeDescription
significandnumber
exponentnumber

patchCloudV2CreatorStoreProductsCreatorStoreProductId

Section titled “patchCloudV2CreatorStoreProductsCreatorStoreProductId”

PATCH /cloud/v2/creator-store-products/:creator_store_product_id

BETA Update a Creator Store product. Engine: Not available in-engine

Scopes: creator-store-product:write

Usage
import { fetchApi } from 'rozod';
import { patchCloudV2CreatorStoreProductsCreatorStoreProductId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(patchCloudV2CreatorStoreProductsCreatorStoreProductId, {
creator_store_product_id: /* string */,
updateMask: /* string? */,
allowMissing: /* boolean? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
creator_store_product_idstringYesThe creator-store-product ID.
updateMaskstring?NoThe list of fields to update.
allowMissingboolean?NoIf set to true, and the creator store product is not found, a creator store product is created. In this situation, update_mask is ignored.

All fields are optional (PATCH partial update)

FieldTypeDescription
pathstring
basePriceobjectSee below
purchasePriceobjectSee below
publishedboolean
restrictions`“RESTRICTION_UNSPECIFIED""SOLD_ITEM_RESTRICTED"
purchasableboolean
userSellerstring
groupSellerstring
modelAssetIdstring
pluginAssetIdstring
audioAssetIdstring
decalAssetIdstring
meshPartAssetIdstring
videoAssetIdstring
fontFamilyAssetIdstring

basePrice fields:

FieldTypeDescription
currencyCodestring
quantityobjectSee below

quantity fields:

FieldTypeDescription
significandnumber
exponentnumber

purchasePrice fields:

FieldTypeDescription
currencyCodestring
quantityobjectSee below

quantity fields:

FieldTypeDescription
significandnumber
exponentnumber
FieldTypeDescription
pathstring
basePriceobjectSee below
purchasePriceobjectSee below
publishedboolean
restrictions`“RESTRICTION_UNSPECIFIED""SOLD_ITEM_RESTRICTED"
purchasableboolean
userSellerstring
groupSellerstring
modelAssetIdstring
pluginAssetIdstring
audioAssetIdstring
decalAssetIdstring
meshPartAssetIdstring
videoAssetIdstring
fontFamilyAssetIdstring

basePrice fields:

FieldTypeDescription
currencyCodestring
quantityobjectSee below

quantity fields:

FieldTypeDescription
significandnumber
exponentnumber

purchasePrice fields:

FieldTypeDescription
currencyCodestring
quantityobjectSee below

quantity fields:

FieldTypeDescription
significandnumber
exponentnumber

GET /cloud/v2/groups/:group_id

BETA Gets the specified group. Engine: Usable with HttpService

Usage
import { fetchApi } from 'rozod';
import { getCloudV2GroupsGroupId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2GroupsGroupId, {
group_id: /* string */
});
NameTypeRequiredDescription
group_idstringYesThe group ID.
FieldTypeDescription
pathstring
createTimestring
updateTimestring
idstring
displayNamestring
descriptionstring
ownerstring
memberCountnumber
publicEntryAllowedboolean
lockedboolean
verifiedboolean

GET /cloud/v2/groups/:group_id/forum-categories

BETA Lists forum categories in the group. Engine: Usable with HttpService

Scopes: group-forum:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2GroupsGroupIdForumCategories } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2GroupsGroupIdForumCategories, {
group_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */
});
NameTypeRequiredDescription
group_idstringYesThe group ID.
maxPageSizeinteger?NoThe maximum number of group forum categories to return. The service might return fewer than this value. If unspecified, at most 10 group forum categories are returned. The maximum value is 10 and higher values are set to 10.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoThis field may be set in order to filter the resources returned. Filtering conforms to Common Expression Language (CEL). Only the boolean field archived and == operator are supported. If archived=false, archived categories are not returned. The default value is false. Example: "filter=archived==true"
FieldTypeDescription
groupForumCategoriesobject[]See below
nextPageTokenstring

groupForumCategories[] item fields:

FieldTypeDescription
pathstring
createTimestring
updateTimestring
groupForumCategoryIdstring
displayNamestring
creatorstring
archiveTimestring
archiverstring

getCloudV2GroupsGroupIdForumCategoriesForumCategoryIdPosts

Section titled “getCloudV2GroupsGroupIdForumCategoriesForumCategoryIdPosts”

GET /cloud/v2/groups/:group_id/forum-categories/:forum_category_id/posts

BETA Lists forum posts in the group’s forum category. Engine: Usable with HttpService

Scopes: group-forum:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2GroupsGroupIdForumCategoriesForumCategoryIdPosts } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2GroupsGroupIdForumCategoriesForumCategoryIdPosts, {
group_id: /* string */,
forum_category_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */,
view: /* enum */
});
NameTypeRequiredDescription
group_idstringYesThe group ID.
forum_category_idstringYesThe forum-category ID.
maxPageSizeinteger?NoThe maximum number of group forum posts to return. The service might return fewer than this value. If unspecified, at most 10 group forum posts are returned. The maximum value is 100 and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoThis field may be set in order to filter the resources returned. Filtering conforms to Common Expression Language (CEL). Only the query filter=pinned==true is supported, where only pinned posts are returned. filter=pinned==falseis not supported.
viewenumYesThe view in which to retrieve the group forum post. Supports FULL and FULL_WITH_FIRST_COMMENT. Defaults to FULL. Possible values: | Value | Description | | --- | --- | | VIEW_UNSPECIFIED | The group forum post view is not specified; the default will be used. | | FULL | Includes all fields but does not dereference first_comment. Only the path field is populated. | | FULL_WITH_FIRST_COMMENT | Includes all fields and also fully populates first_comment. The default view. |
FieldTypeDescription
groupForumPostsobject[]See below
nextPageTokenstring

groupForumPosts[] item fields:

FieldTypeDescription
pathstring
createTimestring
updateTimestring
pinnedboolean
lockedboolean
groupForumPostIdstring
titlestring
firstCommentobjectSee below
authorstring
archiveTimestring
archiverstring
commentCountnumber

firstComment fields:

FieldTypeDescription
pathstring
groupForumCommentIdstring
messageobjectSee below

message fields:

FieldTypeDescription
createTimestring
updateTimestring
plainTextstring
authorstring
messageReactionobject[]See below

messageReaction[] item fields:

FieldTypeDescription
emoteIdobject
countobject

getCloudV2GroupsGroupIdForumCategoriesForumCategoryIdPostsPostIdComments

Section titled “getCloudV2GroupsGroupIdForumCategoriesForumCategoryIdPostsPostIdComments”

GET /cloud/v2/groups/:group_id/forum-categories/:forum_category_id/posts/:post_id/comments

BETA Lists forum comments on a group’s forum post. Engine: Usable with HttpService

Scopes: group-forum:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2GroupsGroupIdForumCategoriesForumCategoryIdPostsPostIdComments } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2GroupsGroupIdForumCategoriesForumCategoryIdPostsPostIdComments, {
group_id: /* string */,
forum_category_id: /* string */,
post_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */
});
NameTypeRequiredDescription
group_idstringYesThe group ID.
forum_category_idstringYesThe forum-category ID.
post_idstringYesThe post ID.
maxPageSizeinteger?NoThe maximum number of group forum comments to return. The service might return fewer than this value. If unspecified, at most 10 group forum comments are returned. The maximum value is 100 and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoThis field may be set in order to filter the resources returned. Filtering conforms to Common Expression Language (CEL). Only the string field repliesToCommentId and the == operator are supported. If repliesToCommentId is specified, only comments that respond to the comment are returned. The default value is ''. If repliesToCommentId='', only comments responding directly to the post are returned. Example: "filter=repliesToCommentId==01234567-89ab-cdef-0123-456789abcdef"
FieldTypeDescription
groupForumCommentsobject[]See below
nextPageTokenstring

groupForumComments[] item fields:

FieldTypeDescription
pathstring
groupForumCommentIdstring
messageobjectSee below

message fields:

FieldTypeDescription
createTimestring
updateTimestring
plainTextstring
authorstring
messageReactionobject[]See below

messageReaction[] item fields:

FieldTypeDescription
emoteIdstring
countnumber

GET /cloud/v2/groups/:group_id/join-requests

BETA List join requests under a group. Engine: Usable with HttpService

Scopes: group:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2GroupsGroupIdJoinRequests } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2GroupsGroupIdJoinRequests, {
group_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */
});
NameTypeRequiredDescription
group_idstringYesThe group ID.
maxPageSizeinteger?NoThe maximum number of group join requests to return. The service might return fewer than this value. If unspecified, at most 10 group join requests are returned. The maximum value is 20 and higher values are set to 20.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoThis field may be set in order to filter the resources returned. Filtering conforms to Common Expression Language (CEL). Only the user field and == operator are supported. Example: "user == 'users/156'"
FieldTypeDescription
groupJoinRequestsobject[]See below
nextPageTokenstring

groupJoinRequests[] item fields:

FieldTypeDescription
pathstring
createTimestring
userstring

postCloudV2GroupsGroupIdJoinRequestsJoinRequestIdAccept

Section titled “postCloudV2GroupsGroupIdJoinRequestsJoinRequestIdAccept”

POST /cloud/v2/groups/:group_id/join-requests/:join_request_id:accept

BETA Accepts a join request. Engine: Usable with HttpService

Scopes: group:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2GroupsGroupIdJoinRequestsJoinRequestIdAccept } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2GroupsGroupIdJoinRequestsJoinRequestIdAccept, {
group_id: /* string */,
join_request_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
group_idstringYesThe group ID.
join_request_idstringYesThe join-request ID.

Type: unknown

Type: unknown


postCloudV2GroupsGroupIdJoinRequestsJoinRequestIdDecline

Section titled “postCloudV2GroupsGroupIdJoinRequestsJoinRequestIdDecline”

POST /cloud/v2/groups/:group_id/join-requests/:join_request_id:decline

BETA Declines a join request. Engine: Usable with HttpService

Scopes: group:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2GroupsGroupIdJoinRequestsJoinRequestIdDecline } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2GroupsGroupIdJoinRequestsJoinRequestIdDecline, {
group_id: /* string */,
join_request_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
group_idstringYesThe group ID.
join_request_idstringYesThe join-request ID.

Type: unknown

Type: unknown


GET /cloud/v2/groups/:group_id/memberships

BETA List group members in a group. Engine: Usable with HttpService

Usage
import { fetchApi } from 'rozod';
import { getCloudV2GroupsGroupIdMemberships } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2GroupsGroupIdMemberships, {
group_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */
});
NameTypeRequiredDescription
group_idstringYesThe group ID.
maxPageSizeinteger?NoThe maximum number of group memberships to return. The service might return fewer than this value. If unspecified, at most 10 group memberships are returned. The maximum value is 100 and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoThis field may be set in order to filter the resources returned. See the filtering documentation for more information.
FieldTypeDescription
groupMembershipsobject[]See below
nextPageTokenstring

groupMemberships[] item fields:

FieldTypeDescription
pathstring
createTimestring
updateTimestring
userstring
rolestring

patchCloudV2GroupsGroupIdMembershipsMembershipId

Section titled “patchCloudV2GroupsGroupIdMembershipsMembershipId”

PATCH /cloud/v2/groups/:group_id/memberships/:membership_id

BETA Updates the group membership for a particular group member. This action requires the requester to be able to manage lower ranked members. Guest or Owner ranks cannot be assigned, and a requester cannot change their own rank. Engine: Usable with HttpService

Scopes: group:write

Usage
import { fetchApi } from 'rozod';
import { patchCloudV2GroupsGroupIdMembershipsMembershipId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(patchCloudV2GroupsGroupIdMembershipsMembershipId, {
group_id: /* string */,
membership_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
group_idstringYesThe group ID.
membership_idstringYesThe membership ID.

All fields are optional (PATCH partial update)

FieldTypeDescription
pathstring
createTimestring
updateTimestring
userstring
rolestring
FieldTypeDescription
pathstring
createTimestring
updateTimestring
userstring
rolestring

GET /cloud/v2/groups/:group_id/roles

BETA List roles in a group. The permissions field for roles is viewable based on the requester’s access and scopes. Permissions for the guest role are always visible - a scope is not needed. If the requester is a member of the group and has the group:read scope, permissions in their role are visible. If the requester is the owner of the group and has the group:read scope, permissions in all roles are visible. Engine: Usable with HttpService

Scopes: group:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2GroupsGroupIdRoles } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2GroupsGroupIdRoles, {
group_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */
});
NameTypeRequiredDescription
group_idstringYesThe group ID.
maxPageSizeinteger?NoThe maximum number of group roles to return. The service might return fewer than this value. If unspecified, at most 10 group roles are returned. The maximum value is 20 and higher values are set to 20.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
FieldTypeDescription
groupRolesobject[]See below
nextPageTokenstring

groupRoles[] item fields:

FieldTypeDescription
pathstring
createTimestring
updateTimestring
idstring
displayNamestring
descriptionstring
ranknumber
memberCountnumber
permissionsobjectSee below

permissions fields:

FieldTypeDescription
viewWallPostsboolean
createWallPostsboolean
deleteWallPostsboolean
viewGroupShoutboolean
createGroupShoutboolean
changeRankboolean
acceptRequestsboolean
exileMembersboolean
manageRelationshipsboolean
viewAuditLogboolean
spendGroupFundsboolean
advertiseGroupboolean
createAvatarItemsboolean
manageAvatarItemsboolean
manageGroupUniversesboolean
viewUniverseAnalyticsboolean
createApiKeysboolean
manageApiKeysboolean
banMembersboolean
viewForumsboolean
manageCategoriesboolean
createPostsboolean
lockPostsboolean
pinPostsboolean
removePostsboolean
createCommentsboolean
removeCommentsboolean
manageBlockedWordsboolean
viewBlockedWordsboolean
bypassSlowModeboolean

GET /cloud/v2/groups/:group_id/roles/:role_id

BETA Get the group role Engine: Usable with HttpService

Scopes: group:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2GroupsGroupIdRolesRoleId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2GroupsGroupIdRolesRoleId, {
group_id: /* string */,
role_id: /* string */
});
NameTypeRequiredDescription
group_idstringYesThe group ID.
role_idstringYesThe role ID.
FieldTypeDescription
pathstring
createTimestring
updateTimestring
idstring
displayNamestring
descriptionstring
ranknumber
memberCountnumber
permissionsobjectSee below

permissions fields:

FieldTypeDescription
viewWallPostsboolean
createWallPostsboolean
deleteWallPostsboolean
viewGroupShoutboolean
createGroupShoutboolean
changeRankboolean
acceptRequestsboolean
exileMembersboolean
manageRelationshipsboolean
viewAuditLogboolean
spendGroupFundsboolean
advertiseGroupboolean
createAvatarItemsboolean
manageAvatarItemsboolean
manageGroupUniversesboolean
viewUniverseAnalyticsboolean
createApiKeysboolean
manageApiKeysboolean
banMembersboolean
viewForumsboolean
manageCategoriesboolean
createPostsboolean
lockPostsboolean
pinPostsboolean
removePostsboolean
createCommentsboolean
removeCommentsboolean
manageBlockedWordsboolean
viewBlockedWordsboolean
bypassSlowModeboolean

GET /cloud/v2/groups/:group_id/shout

BETA Gets the group shout. If a guest can view the group shout, this is always retrievable. If a guest cannot, a member who has the permissions to view the group shout, along with the group:read scope, will be able to read the group shout. Engine: Usable with HttpService

Scopes: group:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2GroupsGroupIdShout } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2GroupsGroupIdShout, {
group_id: /* string */
});
NameTypeRequiredDescription
group_idstringYesThe group ID.
FieldTypeDescription
pathstring
createTimestring
updateTimestring
contentstring
posterstring

GET /cloud/v2/universes/:universe_id

STABLE Gets the specified universe. Engine: Not available in-engine

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseId, {
universe_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
FieldTypeDescription
pathstring | undefined
createTimestring | undefined
updateTimestring | undefined
displayNamestring | undefined
descriptionstring | undefined
userstring | undefined
groupstring | undefined
visibility`“VISIBILITY_UNSPECIFIED""PUBLIC"
facebookSocialLinkobject | undefinedSee below
twitterSocialLinkobject | undefinedSee below
youtubeSocialLinkobject | undefinedSee below
twitchSocialLinkobject | undefinedSee below
discordSocialLinkobject | undefinedSee below
robloxGroupSocialLinkobject | undefinedSee below
guildedSocialLinkobject | undefinedSee below
voiceChatEnabledboolean | undefined
ageRatingz | undefined
privateServerPriceRobuxnumber | undefined
desktopEnabledboolean | undefined
mobileEnabledboolean | undefined
tabletEnabledboolean | undefined
consoleEnabledboolean | undefined
vrEnabledboolean | undefined
rootPlacestring | undefined
templateRootPlacestring

facebookSocialLink fields:

FieldTypeDescription
titlestring
uristring

twitterSocialLink fields:

FieldTypeDescription
titlestring
uristring

youtubeSocialLink fields:

FieldTypeDescription
titlestring
uristring

twitchSocialLink fields:

FieldTypeDescription
titlestring
uristring

discordSocialLink fields:

FieldTypeDescription
titlestring
uristring

robloxGroupSocialLink fields:

FieldTypeDescription
titlestring
uristring

guildedSocialLink fields:

FieldTypeDescription
titlestring
uristring

PATCH /cloud/v2/universes/:universe_id

STABLE Updates the specified universe. This method is guaranteed to return all updated fields. This method may additionally return the full resource. Engine: Not available in-engine

Scopes: universe:write

Usage
import { fetchApi } from 'rozod';
import { patchCloudV2UniversesUniverseId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(patchCloudV2UniversesUniverseId, {
universe_id: /* string */,
updateMask: /* string? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
updateMaskstring?NoThe list of fields to update.

All fields are optional (PATCH partial update)

FieldTypeDescription
pathstring | undefined
createTimestring | undefined
updateTimestring | undefined
displayNamestring | undefined
descriptionstring | undefined
userstring | undefined
groupstring | undefined
visibility`“VISIBILITY_UNSPECIFIED""PUBLIC"
facebookSocialLinkobject | undefinedSee below
twitterSocialLinkobject | undefinedSee below
youtubeSocialLinkobject | undefinedSee below
twitchSocialLinkobject | undefinedSee below
discordSocialLinkobject | undefinedSee below
robloxGroupSocialLinkobject | undefinedSee below
guildedSocialLinkobject | undefinedSee below
voiceChatEnabledboolean | undefined
ageRatingz | undefined
privateServerPriceRobuxnumber | undefined
desktopEnabledboolean | undefined
mobileEnabledboolean | undefined
tabletEnabledboolean | undefined
consoleEnabledboolean | undefined
vrEnabledboolean | undefined
rootPlacestring | undefined
templateRootPlacestring

facebookSocialLink fields:

FieldTypeDescription
titlestring
uristring

twitterSocialLink fields:

FieldTypeDescription
titlestring
uristring

youtubeSocialLink fields:

FieldTypeDescription
titlestring
uristring

twitchSocialLink fields:

FieldTypeDescription
titlestring
uristring

discordSocialLink fields:

FieldTypeDescription
titlestring
uristring

robloxGroupSocialLink fields:

FieldTypeDescription
titlestring
uristring

guildedSocialLink fields:

FieldTypeDescription
titlestring
uristring
FieldTypeDescription
pathstring | undefined
createTimestring | undefined
updateTimestring | undefined
displayNamestring | undefined
descriptionstring | undefined
userstring | undefined
groupstring | undefined
visibility`“VISIBILITY_UNSPECIFIED""PUBLIC"
facebookSocialLinkobject | undefinedSee below
twitterSocialLinkobject | undefinedSee below
youtubeSocialLinkobject | undefinedSee below
twitchSocialLinkobject | undefinedSee below
discordSocialLinkobject | undefinedSee below
robloxGroupSocialLinkobject | undefinedSee below
guildedSocialLinkobject | undefinedSee below
voiceChatEnabledboolean | undefined
ageRatingz | undefined
privateServerPriceRobuxnumber | undefined
desktopEnabledboolean | undefined
mobileEnabledboolean | undefined
tabletEnabledboolean | undefined
consoleEnabledboolean | undefined
vrEnabledboolean | undefined
rootPlacestring | undefined
templateRootPlacestring

facebookSocialLink fields:

FieldTypeDescription
titlestring
uristring

twitterSocialLink fields:

FieldTypeDescription
titlestring
uristring

youtubeSocialLink fields:

FieldTypeDescription
titlestring
uristring

twitchSocialLink fields:

FieldTypeDescription
titlestring
uristring

discordSocialLink fields:

FieldTypeDescription
titlestring
uristring

robloxGroupSocialLink fields:

FieldTypeDescription
titlestring
uristring

guildedSocialLink fields:

FieldTypeDescription
titlestring
uristring

postCloudV2UniversesUniverseIdGenerateSpeechAsset

Section titled “postCloudV2UniversesUniverseIdGenerateSpeechAsset”

POST /cloud/v2/universes/:universe_id:generateSpeechAsset

BETA Generates an English speech audio asset from the specified text. This endpoint requires the asset:read and asset:write scopes in addition to the universe:write scope. The response returns an Operation object that must be prefixed with /assets/v1. For example, the URL to discover the result of the operation could be https://apis.roblox.com/assets/v1/operations/8b42ef30-9c17-4526-b8cf-2ff0136ca94d. Engine: Not available in-engine

Scopes: universe:write, asset:read, asset:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdGenerateSpeechAsset } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdGenerateSpeechAsset, {
universe_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
FieldTypeDescription
textstring
speechStyleobject | undefinedSee below

speechStyle fields:

FieldTypeDescription
voiceIdstring
pitchnumber
speednumber
FieldTypeDescription
pathstring
metadataobjectSee below
doneboolean
errorobjectSee below
responseobjectSee below

error fields:

FieldTypeDescription
codenumber
messagestring
detailsunknown[]

postCloudV2UniversesUniverseIdPublishMessage

Section titled “postCloudV2UniversesUniverseIdPublishMessage”

POST /cloud/v2/universes/:universe_id:publishMessage

STABLE Publishes a message to the universe’s live servers. Servers can consume messages via MessagingService. Engine: Not available in-engine

Scopes: universe-messaging-service:publish

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdPublishMessage } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdPublishMessage, {
universe_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
FieldTypeDescription
topicstring
messagestring

Type: unknown


postCloudV2UniversesUniverseIdRestartServers

Section titled “postCloudV2UniversesUniverseIdRestartServers”

POST /cloud/v2/universes/:universe_id:restartServers

STABLE Restarts active servers for a specific universe. Defaults to only restarting servers running older versions, but can be configured to restart all servers regardless of version. Used for releasing experience updates. Engine: Not available in-engine

Scopes: universe:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdRestartServers } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdRestartServers, {
universe_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
FieldTypeDescription
placeIdsnumber[]
closeAllVersionsboolean
bleedOffServersboolean
bleedOffDurationMinutesnumber

Type: unknown


postCloudV2UniversesUniverseIdTranslateText

Section titled “postCloudV2UniversesUniverseIdTranslateText”

POST /cloud/v2/universes/:universe_id:translateText

BETA Translates the provided text from one language to another. Engine: Not available in-engine

Scopes: universe:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdTranslateText } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdTranslateText, {
universe_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
FieldTypeDescription
textstring
sourceLanguageCodestring | undefined
targetLanguageCodesstring[] | undefined
FieldTypeDescription
sourceLanguageCodestring
translationsstring

GET /cloud/v2/universes/:universe_id/data-stores

STABLE Returns a list of data stores. Data stores scheduled for permanent deletion are omitted from the results by default (or when showDeleted is set to false). When this is the case, the operation will check up to 512 data stores. If all checked data stores are deleted, it will return an empty list with a page token to continue iteration. Engine: Not available in-engine

Scopes: universe-datastores.control:list

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdDataStores } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdDataStores, {
universe_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */,
showDeleted: /* boolean? */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
maxPageSizeinteger?NoThe maximum number of data stores to return. The service might return fewer than this value. If unspecified, at most 10 data stores are returned. The maximum value is 100 and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoThis field may be set in order to filter the resources returned. The filter field supports a very small subset of CEL: Only the id field is supported. Only the startsWith function is available; no other operators nor built-ins are supported. Example filter: id.startsWith("foo")
showDeletedboolean?NoIf true, resources marked for pending deletion will be included in the results.
FieldTypeDescription
dataStoresobject[]See below
nextPageTokenstring

dataStores[] item fields:

FieldTypeDescription
pathstring
createTimestring
expireTimestring
state`“STATE_UNSPECIFIED""ACTIVE"
idstring

postCloudV2UniversesUniverseIdDataStoresSnapshot

Section titled “postCloudV2UniversesUniverseIdDataStoresSnapshot”

POST /cloud/v2/universes/:universe_id/data-stores:snapshot

STABLE Takes a new snapshot of the data stores in an experience. After a snapshot, the next write to every key in the experience will create a versioned backup of the previous data, regardless of the time of the last write. In effect, all data current at the time of the snapshot is guaranteed to be available as a versioned backup for at least 30 days. Snapshots can be taken once per UTC day, per experience. If the latest snapshot was taken within the same UTC day, this operation is a no-op and the time of the latest snapshot will be returned. For more information on using snapshots, see the Data stores Engine guide. Engine: Not available in-engine

Scopes: universe-datastores.control:snapshot

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdDataStoresSnapshot } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdDataStoresSnapshot, {
universe_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.

Type: unknown

FieldTypeDescription
newSnapshotTakenboolean
latestSnapshotTimestring

deleteCloudV2UniversesUniverseIdDataStoresDataStoreId

Section titled “deleteCloudV2UniversesUniverseIdDataStoresDataStoreId”

DELETE /cloud/v2/universes/:universe_id/data-stores/:data_store_id

BETA Schedules the specified data store for permanent deletion. This operation assigns the data store an expiry time 30 days in the future, at which point permanent deletion begins. To cancel, use the UndeleteDataStore operation before the data store’s expiry time. Permanent deletion consists of deleting all of the entries in the data store and then the data store resource itself. The data store is no longer returned by the ListDataStores Open Cloud endpoint or ListDataStoresAsync Luau API, and you can reuse the data store’s name. The duration of the permanent deletion process depends on the number of entries in the data store. However, you can expect a data store with 1 million or fewer entries to be permanently deleted within 3 days. Data stores scheduled for permanent deletion are returned by the ListDataStores Open Cloud endpoint when the query parameter showDeleted is set to true. In the return value, each data store will have a DELETED state and an expireTime field. Data stores scheduled for permanent deletion are immediately made inaccessible, meaning attempts to read or write to their entries will fail. Note: Due to caching in the backend service, attempts to read from or write to entries in these data stores can continue to succeed for a limited time after the deletion: GetDataStoreEntry: can succeed for up to 24 hours. All other endpoints: can succeed for several minutes. If the data store is already in a DELETED state, this operation is a no-op, and the data store is returned as-is. Engine: Not available in-engine

Scopes: universe-datastores.control:delete

Usage
import { fetchApi } from 'rozod';
import { deleteCloudV2UniversesUniverseIdDataStoresDataStoreId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(deleteCloudV2UniversesUniverseIdDataStoresDataStoreId, {
universe_id: /* string */,
data_store_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
FieldTypeDescription
pathstring
createTimestring
expireTimestring
state`“STATE_UNSPECIFIED""ACTIVE"
idstring

postCloudV2UniversesUniverseIdDataStoresDataStoreIdUndelete

Section titled “postCloudV2UniversesUniverseIdDataStoresDataStoreIdUndelete”

POST /cloud/v2/universes/:universe_id/data-stores/:data_store_id:undelete

BETA Restore the data store Engine: Not available in-engine

Scopes: universe-datastores.control:delete

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdDataStoresDataStoreIdUndelete } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdDataStoresDataStoreIdUndelete, {
universe_id: /* string */,
data_store_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.

Type: unknown

FieldTypeDescription
pathstring
createTimestring
expireTimestring
state`“STATE_UNSPECIFIED""ACTIVE"
idstring

getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries

Section titled “getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries”

GET /cloud/v2/universes/:universe_id/data-stores/:data_store_id/entries

STABLE Returns a list of entries from a data store. Only the path and id fields are populated; use GetDataStoreEntry to retrieve other fields. Specify the wildcard scope (-) to list entries from all scopes. Engine: Not available in-engine

Scopes: universe-datastores.objects:list

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries, {
universe_id: /* string */,
data_store_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */,
showDeleted: /* boolean? */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
maxPageSizeinteger?NoThe maximum number of data store entries to return. The service might return fewer than this value. If unspecified, at most 10 data store entries are returned. The maximum value is 256 and higher values are set to 256.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoThis field may be set in order to filter the resources returned. The filter field supports a very small subset of CEL: Only the id field is supported. Only the startsWith function is available; no other operators nor built-ins are supported. Example filter: id.startsWith("foo")
showDeletedboolean?NoIf true, resources marked for pending deletion will be included in the results.
FieldTypeDescription
dataStoreEntriesDataStoreEntry[]
nextPageTokenstring

postCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries

Section titled “postCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries”

POST /cloud/v2/universes/:universe_id/data-stores/:data_store_id/entries

STABLE Creates an entry with the provided ID and value. Returns a 400 Bad Request if the entry exists. Engine: Not available in-engine

Scopes: universe-datastores.objects:create

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries, {
universe_id: /* string */,
data_store_id: /* string */,
id: /* string? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
idstring?NoThe ID to use for the data store entry, which will become the final component of the data store entry’s resource path. This value should be a 1-50 character string. We strongly recommend using only lowercase letters, numeric digits, and hyphens.

Type: DataStoreEntry

Type: DataStoreEntry


getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId

Section titled “getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId”

GET /cloud/v2/universes/:universe_id/data-stores/:data_store_id/entries/:entry_id

STABLE Gets the specified entry. To get the entry at a specific revision, add @<revisionId> to the end of the path. For example, to get my-entry at the revision ID 08DC3D3F43F9FCC1.0000000001.08DC3D3F43F9FCC1.01, use the path /cloud/v2/universes/1234/data-stores/5678/entries/my-entry@08DC3D3F43F9FCC1.0000000001.08DC3D3F43F9FCC1.01. If your entry ID contains one or more @ characters, and you want to get the latest version rather than at any specific revision, append the special revision ID @latest to the end of the path. Otherwise, the segment of the entry ID after the last @ will be interpreted as a revision ID. For example, to get the latest revision of my-entry, use the path /cloud/v2/universes/1234/data-stores/5678/entries/my@entry@latest. To get the entry that was current at a specific time, add @latest:<timestamp> to the end of the path, where <timestamp> is RFC-3339 formatted. The given timestamp must be after the Unix epoch (1/1/1970) and not more than ten minutes in the future. For example, to get the revision of my-entry that was current on 12/2/2024 at 06:00 UTC, use the path /cloud/v2/universes/1234/data-stores/5678/entries/my-entry@latest:2024-12-02T06:00:00Z. Engine: Not available in-engine

Scopes: universe-datastores.objects:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId, {
universe_id: /* string */,
data_store_id: /* string */,
entry_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
entry_idstringYesThe entry ID.

Type: DataStoreEntry


deleteCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId

Section titled “deleteCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId”

DELETE /cloud/v2/universes/:universe_id/data-stores/:data_store_id/entries/:entry_id

STABLE Marks the specified entry for deletion. Entries are not be deleted immediately; instead, the state field will be set to DELETED. Permanent deletion occurs after 30 days. On success, returns 200 OK. If the entry doesn’t exist, returns 404 Not Found. Engine: Not available in-engine

Scopes: universe-datastores.objects:delete

Usage
import { fetchApi } from 'rozod';
import { deleteCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(deleteCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId, {
universe_id: /* string */,
data_store_id: /* string */,
entry_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
entry_idstringYesThe entry ID.

Type: unknown


patchCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId

Section titled “patchCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId”

PATCH /cloud/v2/universes/:universe_id/data-stores/:data_store_id/entries/:entry_id

STABLE Updates the value, attributes, and users of an entry. Updating specific revisions of the entry is unsupported. If you specify a revision ID in the path and allow_missing is true, the update request will instead create a new entry with the @<revisionId> suffix as part of the key. Partial update is unsupported. If attributes or users are not provided when updating the value, they will be cleared. Value must always be provided when updating an entry. Engine: Not available in-engine

Scopes: universe-datastores.objects:update

Usage
import { fetchApi } from 'rozod';
import { patchCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(patchCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryId, {
universe_id: /* string */,
data_store_id: /* string */,
entry_id: /* string */,
allowMissing: /* boolean? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
entry_idstringYesThe entry ID.
allowMissingboolean?NoIf set to true, and the data store entry is not found, a data store entry is created.

All fields are optional (PATCH partial update)

Type: DataStoreEntry

Type: DataStoreEntry


postCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryIdIncrement

Section titled “postCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryIdIncrement”

POST /cloud/v2/universes/:universe_id/data-stores/:data_store_id/entries/:entry_id:increment

STABLE Increments the value of the specified entry. Both the existing value and the increment amount must be integers. If the entry doesn’t exist, creates an entry with the specified value. Incrementing specific revisions of the entry is unsupported. If you specify a revision ID in the path, the increment request will create a new entry with the @<revisionId> suffix as part of the key. Known issue: the value may be incremented past the valid range of values. When this happens, the returned value will be clamped to the valid range, but the backend may persist the original value. This behavior is maintained for backwards compatibility reasons, but may change in a future version of this API. Engine: Not available in-engine

Scopes: universe-datastores.objects:create, universe-datastores.objects:update

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryIdIncrement } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryIdIncrement, {
universe_id: /* string */,
data_store_id: /* string */,
entry_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
entry_idstringYesThe entry ID.

Type: IncrementDataStoreEntryRequest

Type: DataStoreEntry


getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryIdListRevisions

Section titled “getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryIdListRevisions”

GET /cloud/v2/universes/:universe_id/data-stores/:data_store_id/entries/:entry_id:listRevisions

STABLE List revisions of the data store entry. This method returns partial data store entries. In particular, only the path, id, createTime, revisionCreateTime, revisionId, etag, and state fields are populated. Both the path and id fields will have an @<version> suffix. In order to get the full entry at a revision, you can use the provided path field with the GetDataStoreEntry method, i.e. GET /cloud/v2/universes/1234/data-stores/5678/entries/my-entry@<version>. Engine: Not available in-engine

Scopes: universe-datastores.versions:list

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryIdListRevisions } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntriesEntryIdListRevisions, {
universe_id: /* string */,
data_store_id: /* string */,
entry_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
entry_idstringYesThe entry ID.
maxPageSizeinteger?NoThe maximum number of revisions to return per page. The service might return fewer than the maximum number of revisions. If unspecified, at most 10 revisions are returned. The maximum value is 100 values and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoSupports the following subset of CEL: Only the &&, <=, and >= operators are supported. Only the revision_create_time field is supported. For example: "revision_create_time >= 2000-01-01T00:00:00Z && revision_create_time <= 2001-01-01T00:00:00Z"
FieldTypeDescription
dataStoreEntriesDataStoreEntry[]
nextPageTokenstring

getCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntries

Section titled “getCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntries”

GET /cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entries

STABLE Returns a list of entries from a data store. Only the path and id fields are populated; use GetDataStoreEntry to retrieve other fields. Specify the wildcard scope (-) to list entries from all scopes. Engine: Not available in-engine

Scopes: universe-datastores.objects:list

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntries } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntries, {
universe_id: /* string */,
data_store_id: /* string */,
scope_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */,
showDeleted: /* boolean? */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
scope_idstringYesThe scope ID.
maxPageSizeinteger?NoThe maximum number of data store entries to return. The service might return fewer than this value. If unspecified, at most 10 data store entries are returned. The maximum value is 256 and higher values are set to 256.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoThis field may be set in order to filter the resources returned. The filter field supports a very small subset of CEL: Only the id field is supported. Only the startsWith function is available; no other operators nor built-ins are supported. Example filter: id.startsWith("foo")
showDeletedboolean?NoIf true, resources marked for pending deletion will be included in the results.
FieldTypeDescription
dataStoreEntriesDataStoreEntry[]
nextPageTokenstring

postCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntries

Section titled “postCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntries”

POST /cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entries

STABLE Creates an entry with the provided ID and value. Returns a 400 Bad Request if the entry exists. Engine: Not available in-engine

Scopes: universe-datastores.objects:create

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntries } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntries, {
universe_id: /* string */,
data_store_id: /* string */,
scope_id: /* string */,
id: /* string? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
scope_idstringYesThe scope ID.
idstring?NoThe ID to use for the data store entry, which will become the final component of the data store entry’s resource path. This value should be a 1-50 character string. We strongly recommend using only lowercase letters, numeric digits, and hyphens.

Type: DataStoreEntry

Type: DataStoreEntry


getCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId

Section titled “getCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId”

GET /cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entries/:entry_id

STABLE Gets the specified entry. To get the entry at a specific revision, add @<revisionId> to the end of the path. For example, to get my-entry at the revision ID 08DC3D3F43F9FCC1.0000000001.08DC3D3F43F9FCC1.01, use the path /cloud/v2/universes/1234/data-stores/5678/entries/my-entry@08DC3D3F43F9FCC1.0000000001.08DC3D3F43F9FCC1.01. If your entry ID contains one or more @ characters, and you want to get the latest version rather than at any specific revision, append the special revision ID @latest to the end of the path. Otherwise, the segment of the entry ID after the last @ will be interpreted as a revision ID. For example, to get the latest revision of my-entry, use the path /cloud/v2/universes/1234/data-stores/5678/entries/my@entry@latest. To get the entry that was current at a specific time, add @latest:<timestamp> to the end of the path, where <timestamp> is RFC-3339 formatted. The given timestamp must be after the Unix epoch (1/1/1970) and not more than ten minutes in the future. For example, to get the revision of my-entry that was current on 12/2/2024 at 06:00 UTC, use the path /cloud/v2/universes/1234/data-stores/5678/entries/my-entry@latest:2024-12-02T06:00:00Z. Engine: Not available in-engine

Scopes: universe-datastores.objects:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId, {
universe_id: /* string */,
data_store_id: /* string */,
scope_id: /* string */,
entry_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
scope_idstringYesThe scope ID.
entry_idstringYesThe entry ID.

Type: DataStoreEntry


deleteCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId

Section titled “deleteCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId”

DELETE /cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entries/:entry_id

STABLE Marks the specified entry for deletion. Entries are not be deleted immediately; instead, the state field will be set to DELETED. Permanent deletion occurs after 30 days. On success, returns 200 OK. If the entry doesn’t exist, returns 404 Not Found. Engine: Not available in-engine

Scopes: universe-datastores.objects:delete

Usage
import { fetchApi } from 'rozod';
import { deleteCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(deleteCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId, {
universe_id: /* string */,
data_store_id: /* string */,
scope_id: /* string */,
entry_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
scope_idstringYesThe scope ID.
entry_idstringYesThe entry ID.

Type: unknown


patchCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId

Section titled “patchCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId”

PATCH /cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entries/:entry_id

STABLE Updates the value, attributes, and users of an entry. Updating specific revisions of the entry is unsupported. If you specify a revision ID in the path and allow_missing is true, the update request will instead create a new entry with the @<revisionId> suffix as part of the key. Partial update is unsupported. If attributes or users are not provided when updating the value, they will be cleared. Value must always be provided when updating an entry. Engine: Not available in-engine

Scopes: universe-datastores.objects:update

Usage
import { fetchApi } from 'rozod';
import { patchCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(patchCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryId, {
universe_id: /* string */,
data_store_id: /* string */,
scope_id: /* string */,
entry_id: /* string */,
allowMissing: /* boolean? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
scope_idstringYesThe scope ID.
entry_idstringYesThe entry ID.
allowMissingboolean?NoIf set to true, and the data store entry is not found, a data store entry is created.

All fields are optional (PATCH partial update)

Type: DataStoreEntry

Type: DataStoreEntry


postCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryIdIncrement

Section titled “postCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryIdIncrement”

POST /cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entries/:entry_id:increment

STABLE Increments the value of the specified entry. Both the existing value and the increment amount must be integers. If the entry doesn’t exist, creates an entry with the specified value. Incrementing specific revisions of the entry is unsupported. If you specify a revision ID in the path, the increment request will create a new entry with the @<revisionId> suffix as part of the key. Known issue: the value may be incremented past the valid range of values. When this happens, the returned value will be clamped to the valid range, but the backend may persist the original value. This behavior is maintained for backwards compatibility reasons, but may change in a future version of this API. Engine: Not available in-engine

Scopes: universe-datastores.objects:create, universe-datastores.objects:update

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryIdIncrement } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryIdIncrement, {
universe_id: /* string */,
data_store_id: /* string */,
scope_id: /* string */,
entry_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
scope_idstringYesThe scope ID.
entry_idstringYesThe entry ID.

Type: IncrementDataStoreEntryRequest

Type: DataStoreEntry


getCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryIdListRevisions

Section titled “getCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryIdListRevisions”

GET /cloud/v2/universes/:universe_id/data-stores/:data_store_id/scopes/:scope_id/entries/:entry_id:listRevisions

STABLE List revisions of the data store entry. This method returns partial data store entries. In particular, only the path, id, createTime, revisionCreateTime, revisionId, etag, and state fields are populated. Both the path and id fields will have an @<version> suffix. In order to get the full entry at a revision, you can use the provided path field with the GetDataStoreEntry method, i.e. GET /cloud/v2/universes/1234/data-stores/5678/entries/my-entry@<version>. Engine: Not available in-engine

Scopes: universe-datastores.versions:list

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryIdListRevisions } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdDataStoresDataStoreIdScopesScopeIdEntriesEntryIdListRevisions, {
universe_id: /* string */,
data_store_id: /* string */,
scope_id: /* string */,
entry_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
data_store_idstringYesThe data-store ID.
scope_idstringYesThe scope ID.
entry_idstringYesThe entry ID.
maxPageSizeinteger?NoThe maximum number of revisions to return per page. The service might return fewer than the maximum number of revisions. If unspecified, at most 10 revisions are returned. The maximum value is 100 values and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoSupports the following subset of CEL: Only the &&, <=, and >= operators are supported. Only the revision_create_time field is supported. For example: "revision_create_time >= 2000-01-01T00:00:00Z && revision_create_time <= 2001-01-01T00:00:00Z"
FieldTypeDescription
dataStoreEntriesDataStoreEntry[]
nextPageTokenstring

postCloudV2UniversesUniverseIdLuauExecutionSessionTaskBinaryInputs

Section titled “postCloudV2UniversesUniverseIdLuauExecutionSessionTaskBinaryInputs”

POST /cloud/v2/universes/:universe_id/luau-execution-session-task-binary-inputs

BETA Create a new LuauExecutionSessionTaskBinaryInput. Engine: Not available in-engine

Scopes: universe.place.luau-execution-session:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdLuauExecutionSessionTaskBinaryInputs } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdLuauExecutionSessionTaskBinaryInputs, {
universe_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
FieldTypeDescription
pathstring
sizenumber
uploadUristring
FieldTypeDescription
pathstring
sizenumber
uploadUristring

postCloudV2UniversesUniverseIdMemoryStoreFlush

Section titled “postCloudV2UniversesUniverseIdMemoryStoreFlush”

POST /cloud/v2/universes/:universe_id/memory-store:flush

STABLE Asynchronously flush all data structures in the universe. Engine: Not available in-engine

Scopes: memory-store:flush

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdMemoryStoreFlush } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdMemoryStoreFlush, {
universe_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.

Type: unknown

FieldTypeDescription
pathstring
metadataobjectSee below
doneboolean
errorobjectSee below
responseobjectSee below

error fields:

FieldTypeDescription
codenumber
messagestring
detailsunknown[]

postCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItems

Section titled “postCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItems”

POST /cloud/v2/universes/:universe_id/memory-store/queues/:queue_id/items

STABLE Creates a new queue item. If ttl is set, the item will automatically be removed from the queue after the time interval specified. If a numerical priority is set, the item will be inserted into the queue based on the priority value. The higher the value, the closer to the front of the queue the item will be. If priority values are the same then the item will be inserted after existing values with the same priority. Engine: Not available in-engine

Scopes: memory-store.queue:add

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItems } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItems, {
universe_id: /* string */,
queue_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
queue_idstringYesThe queue ID.
FieldTypeDescription
pathstring
dataunknown
prioritynumber
ttlstring
expireTimestring
idstring
FieldTypeDescription
pathstring
dataunknown
prioritynumber
ttlstring
expireTimestring
idstring

postCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItemsDiscard

Section titled “postCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItemsDiscard”

POST /cloud/v2/universes/:universe_id/memory-store/queues/:queue_id/items:discard

STABLE Discards read items from the front of the queue. Takes a readId from a previous Read operation. Engine: Not available in-engine

Scopes: memory-store.queue:discard

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItemsDiscard } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItemsDiscard, {
universe_id: /* string */,
queue_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
queue_idstringYesThe queue ID.
FieldTypeDescription
readIdstring

Type: unknown


getCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItemsRead

Section titled “getCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItemsRead”

GET /cloud/v2/universes/:universe_id/memory-store/queues/:queue_id/items:read

STABLE Returns the specified number of items at the front of the queue. Engine: Not available in-engine

Scopes: memory-store.queue:dequeue

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItemsRead } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdMemoryStoreQueuesQueueIdItemsRead, {
universe_id: /* string */,
queue_id: /* string */,
count: /* integer? */,
allOrNothing: /* boolean? */,
invisibilityWindow: /* string? */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
queue_idstringYesThe queue ID.
countinteger?NoThe number of items to read from the queue If unspecified, 1 item will be returned. The maximum value is 200; values above 200 will be coerced to 200.
allOrNothingboolean?NoIf all_or_nothing is true and the requested number of objects is not available, will return a 404 Error. Otherwise, will return the path and read_id of the read operation and a list of the MemoryStoreQueue items.
invisibilityWindowstring?NoInvisibility window for items read, in seconds. Items read are invisible in subsequent reads during the invisibility window duration. It must be written in seconds greater than 0 and end with s. Defaults to 30s.
FieldTypeDescription
readIdstring
itemsobject[]See below

items[] item fields:

FieldTypeDescription
pathstring
dataunknown
prioritynumber
ttlstring
expireTimestring
idstring

getCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItems

Section titled “getCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItems”

GET /cloud/v2/universes/:universe_id/memory-store/sorted-maps/:sorted_map_id/items

STABLE Gets and returns items in the map with a given order and filter. Engine: Not available in-engine

Scopes: memory-store.sorted-map:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItems } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItems, {
universe_id: /* string */,
sorted_map_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
orderBy: /* string? */,
filter: /* string? */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
sorted_map_idstringYesThe sorted-map ID.
maxPageSizeinteger?NoThe maximum number of memory store sorted map items to return. The service might return fewer than this value. If unspecified, at most 1 memory store sorted map items are returned. The maximum value is 100 and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
orderBystring?NoIf specified, results are ordered according to the specified fields. Values must be a comma-separated list of fields, with an optional, per-field ” desc” suffix to sort by descending rather than ascending values. You can access subfields with a . operator. Results may be ordered by the following fields: id. Example: “id desc”
filterstring?NoThis field may be set in order to filter the resources returned. Filtering conforms to Common Expression Language (CEL). Only the id and sortKey fields are supported. In terms of operators, only <, > and && are allowed’ Example: id > "key-001" && id < "key-100"
FieldTypeDescription
memoryStoreSortedMapItemsobject[]See below
nextPageTokenstring

memoryStoreSortedMapItems[] item fields:

FieldTypeDescription
pathstring
valueunknown
etagstring
ttlstring
expireTimestring
idstring
stringSortKeystring
numericSortKeynumber

postCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItems

Section titled “postCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItems”

POST /cloud/v2/universes/:universe_id/memory-store/sorted-maps/:sorted_map_id/items

STABLE Creates the specified map item if it doesn’t exist. Engine: Not available in-engine

Scopes: memory-store.sorted-map:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItems } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItems, {
universe_id: /* string */,
sorted_map_id: /* string */,
id: /* string? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
sorted_map_idstringYesThe sorted-map ID.
idstring?NoThe ID to use for the memory store sorted map item, which will become the final component of the memory store sorted map item’s resource path. This value should be a 1-127 character string that supports alphanumeric and special characters. This id is case sensitive. The id must be url encoded if it contains any url breaking special characters.
FieldTypeDescription
pathstring
valueunknown
etagstring
ttlstring
expireTimestring
idstring
stringSortKeystring
numericSortKeynumber
FieldTypeDescription
pathstring
valueunknown
etagstring
ttlstring
expireTimestring
idstring
stringSortKeystring
numericSortKeynumber

getCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId

Section titled “getCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId”

GET /cloud/v2/universes/:universe_id/memory-store/sorted-maps/:sorted_map_id/items/:item_id

STABLE Gets and returns the value of the given key in the map. Engine: Not available in-engine

Scopes: memory-store.sorted-map:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId, {
universe_id: /* string */,
sorted_map_id: /* string */,
item_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
sorted_map_idstringYesThe sorted-map ID.
item_idstringYesThe item ID.
FieldTypeDescription
pathstring
valueunknown
etagstring
ttlstring
expireTimestring
idstring
stringSortKeystring
numericSortKeynumber

deleteCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId

Section titled “deleteCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId”

DELETE /cloud/v2/universes/:universe_id/memory-store/sorted-maps/:sorted_map_id/items/:item_id

STABLE Deletes the specified item from the map. Engine: Not available in-engine

Scopes: memory-store.sorted-map:write

Usage
import { fetchApi } from 'rozod';
import { deleteCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(deleteCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId, {
universe_id: /* string */,
sorted_map_id: /* string */,
item_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
sorted_map_idstringYesThe sorted-map ID.
item_idstringYesThe item ID.

Type: unknown


patchCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId

Section titled “patchCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId”

PATCH /cloud/v2/universes/:universe_id/memory-store/sorted-maps/:sorted_map_id/items/:item_id

STABLE Updates the specified map item. Engine: Not available in-engine

Scopes: memory-store.sorted-map:write

Usage
import { fetchApi } from 'rozod';
import { patchCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(patchCloudV2UniversesUniverseIdMemoryStoreSortedMapsSortedMapIdItemsItemId, {
universe_id: /* string */,
sorted_map_id: /* string */,
item_id: /* string */,
allowMissing: /* boolean? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
sorted_map_idstringYesThe sorted-map ID.
item_idstringYesThe item ID.
allowMissingboolean?NoIf set to true, and the memory store sorted map item is not found, a memory store sorted map item is created.

All fields are optional (PATCH partial update)

FieldTypeDescription
pathstring
valueunknown
etagstring
ttlstring
expireTimestring
idstring
stringSortKeystring
numericSortKeynumber
FieldTypeDescription
pathstring
valueunknown
etagstring
ttlstring
expireTimestring
idstring
stringSortKeystring
numericSortKeynumber

getCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntries

Section titled “getCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntries”

GET /cloud/v2/universes/:universe_id/ordered-data-stores/:ordered_data_store_id/scopes/:scope_id/entries

STABLE Returns a list of entries from an ordered data store. Engine: Not available in-engine

Scopes: universe.ordered-data-store.scope.entry:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntries } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntries, {
universe_id: /* string */,
ordered_data_store_id: /* string */,
scope_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
orderBy: /* string? */,
filter: /* string? */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
ordered_data_store_idstringYesThe ordered-data-store ID.
scope_idstringYesThe scope ID.
maxPageSizeinteger?NoThe maximum number of ordered data store entries to return. The service might return fewer than this value. If unspecified, at most 10 ordered data store entries are returned. The maximum value is 100 and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
orderBystring?NoIf specified, results are ordered according to the specified fields. Values must be a comma-separated list of fields, with an optional, per-field ” desc” suffix to sort by descending rather than ascending values. You can access subfields with a . operator. Results may be ordered by the following fields: value. Example: “value desc”
filterstring?NoThis field may be set in order to filter the resources returned. We support two comparison operators for this operation: <= and >=.These comparison operators act as a minValue and maxValue for the values returned. If filtering is needed for a value between a minValue and maxValue the user can use the logical operator &&. All tokens in the filter expression must be separated by a single space. Example filters: entry <= 10; entry >= 10 && entry <= 30
FieldTypeDescription
orderedDataStoreEntriesobject[]See below
nextPageTokenstring

orderedDataStoreEntries[] item fields:

FieldTypeDescription
pathstring
valuenumber
idstring

postCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntries

Section titled “postCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntries”

POST /cloud/v2/universes/:universe_id/ordered-data-stores/:ordered_data_store_id/scopes/:scope_id/entries

STABLE Creates an entry with the provided ID and value. Returns a 400 Bad Request if the entry exists. Engine: Not available in-engine

Scopes: universe.ordered-data-store.scope.entry:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntries } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntries, {
universe_id: /* string */,
ordered_data_store_id: /* string */,
scope_id: /* string */,
id: /* string? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
ordered_data_store_idstringYesThe ordered-data-store ID.
scope_idstringYesThe scope ID.
idstring?NoThe ID to use for the ordered data store entry, which will become the final component of the ordered data store entry’s resource path. This value should be A 1-63 character string. We strongly recommend using only lowercase letters, numeric digits, and hyphens.
FieldTypeDescription
pathstring
valuenumber
idstring
FieldTypeDescription
pathstring
valuenumber
idstring

getCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId

Section titled “getCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId”

GET /cloud/v2/universes/:universe_id/ordered-data-stores/:ordered_data_store_id/scopes/:scope_id/entries/:entry_id

STABLE Gets the specified entry. Engine: Not available in-engine

Scopes: universe.ordered-data-store.scope.entry:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId, {
universe_id: /* string */,
ordered_data_store_id: /* string */,
scope_id: /* string */,
entry_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
ordered_data_store_idstringYesThe ordered-data-store ID.
scope_idstringYesThe scope ID.
entry_idstringYesThe entry ID.
FieldTypeDescription
pathstring
valuenumber
idstring

deleteCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId

Section titled “deleteCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId”

DELETE /cloud/v2/universes/:universe_id/ordered-data-stores/:ordered_data_store_id/scopes/:scope_id/entries/:entry_id

STABLE Deletes the specified entry. On success, returns 200 OK. If the entry doesn’t exist, returns 404 Not Found. Engine: Not available in-engine

Scopes: universe.ordered-data-store.scope.entry:write

Usage
import { fetchApi } from 'rozod';
import { deleteCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(deleteCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId, {
universe_id: /* string */,
ordered_data_store_id: /* string */,
scope_id: /* string */,
entry_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
ordered_data_store_idstringYesThe ordered-data-store ID.
scope_idstringYesThe scope ID.
entry_idstringYesThe entry ID.

Type: unknown


patchCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId

Section titled “patchCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId”

PATCH /cloud/v2/universes/:universe_id/ordered-data-stores/:ordered_data_store_id/scopes/:scope_id/entries/:entry_id

STABLE Updates the value of an entry. Engine: Not available in-engine

Scopes: universe.ordered-data-store.scope.entry:write

Usage
import { fetchApi } from 'rozod';
import { patchCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(patchCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryId, {
universe_id: /* string */,
ordered_data_store_id: /* string */,
scope_id: /* string */,
entry_id: /* string */,
allowMissing: /* boolean? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
ordered_data_store_idstringYesThe ordered-data-store ID.
scope_idstringYesThe scope ID.
entry_idstringYesThe entry ID.
allowMissingboolean?NoIf set to true, and the ordered data store entry is not found, a ordered data store entry is created.

All fields are optional (PATCH partial update)

FieldTypeDescription
pathstring
valuenumber
idstring
FieldTypeDescription
pathstring
valuenumber
idstring

postCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryIdIncrement

Section titled “postCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryIdIncrement”

POST /cloud/v2/universes/:universe_id/ordered-data-stores/:ordered_data_store_id/scopes/:scope_id/entries/:entry_id:increment

STABLE Increments the value of the specified entry. Both the existing value and the increment amount must be integers. If the entry doesn’t exist, creates an entry with the specified value. Known issue: the value may be incremented past the valid range of values. When this happens, the returned value will be clamped to the valid range, but the backend may persist the original value. This behavior is maintained for backwards compatibility reasons, but may change in a future version of this API. Engine: Not available in-engine

Scopes: universe.ordered-data-store.scope.entry:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryIdIncrement } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdOrderedDataStoresOrderedDataStoreIdScopesScopeIdEntriesEntryIdIncrement, {
universe_id: /* string */,
ordered_data_store_id: /* string */,
scope_id: /* string */,
entry_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
ordered_data_store_idstringYesThe ordered-data-store ID.
scope_idstringYesThe scope ID.
entry_idstringYesThe entry ID.
FieldTypeDescription
amountnumber
FieldTypeDescription
pathstring
valuenumber
idstring

getCloudV2UniversesUniverseIdPlacesPlaceId

Section titled “getCloudV2UniversesUniverseIdPlacesPlaceId”

GET /cloud/v2/universes/:universe_id/places/:place_id

STABLE Gets the specified place. Engine: Not available in-engine

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdPlacesPlaceId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdPlacesPlaceId, {
universe_id: /* string */,
place_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
place_idstringYesThe place ID.
FieldTypeDescription
pathstring | undefined
createTimestring | undefined
updateTimestring | undefined
displayNamestring | undefined
descriptionstring | undefined
serverSizenumber | undefined
rootboolean | undefined
universeRuntimeCreationboolean | undefined
templatePlacestring

patchCloudV2UniversesUniverseIdPlacesPlaceId

Section titled “patchCloudV2UniversesUniverseIdPlacesPlaceId”

PATCH /cloud/v2/universes/:universe_id/places/:place_id

STABLE Updates the specified place. Engine: Not available in-engine

Scopes: universe.place:write

Usage
import { fetchApi } from 'rozod';
import { patchCloudV2UniversesUniverseIdPlacesPlaceId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(patchCloudV2UniversesUniverseIdPlacesPlaceId, {
universe_id: /* string */,
place_id: /* string */,
updateMask: /* string? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
place_idstringYesThe place ID.
updateMaskstring?NoThe list of fields to update.

All fields are optional (PATCH partial update)

FieldTypeDescription
pathstring | undefined
createTimestring | undefined
updateTimestring | undefined
displayNamestring | undefined
descriptionstring | undefined
serverSizenumber | undefined
rootboolean | undefined
universeRuntimeCreationboolean | undefined
templatePlacestring
FieldTypeDescription
pathstring | undefined
createTimestring | undefined
updateTimestring | undefined
displayNamestring | undefined
descriptionstring | undefined
serverSizenumber | undefined
rootboolean | undefined
universeRuntimeCreationboolean | undefined
templatePlacestring

getCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceId

Section titled “getCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceId”

GET /cloud/v2/universes/:universe_id/places/:place_id/instances/:instance_id

BETA Gets an instance and its property data. The maximum supported response data size is 500,000 bytes. If this limit is exceeded, the returned Operation will be completed with an error result that has an error code of 422. Engine: Not available in-engine

Scopes: universe.place.instance:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceId, {
universe_id: /* string */,
place_id: /* string */,
instance_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
place_idstringYesThe place ID.
instance_idstringYesThe instance ID.
FieldTypeDescription
pathstring
metadataobjectSee below
doneboolean
errorobjectSee below
responseobjectSee below

error fields:

FieldTypeDescription
codenumber
messagestring
detailsunknown[]

patchCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceId

Section titled “patchCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceId”

PATCH /cloud/v2/universes/:universe_id/places/:place_id/instances/:instance_id

BETA Updates an instance’s property data. When updating a Script instance’s source property, the maximum supported property size is 200,000 bytes after UTF-8 encoding. Engine: Not available in-engine

Scopes: universe.place.instance:write

Usage
import { fetchApi } from 'rozod';
import { patchCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(patchCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceId, {
universe_id: /* string */,
place_id: /* string */,
instance_id: /* string */,
updateMask: /* string? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
place_idstringYesThe place ID.
instance_idstringYesThe instance ID.
updateMaskstring?NoThe list of fields to update.

All fields are optional (PATCH partial update)

FieldTypeDescription
pathstring
hasChildrenboolean
engineInstanceobjectSee below

engineInstance fields:

FieldTypeDescription
Idstring
Parentstring
Namestring
DetailsobjectSee below

Details fields:

FieldTypeDescription
FolderobjectSee below
LocalScriptobjectSee below
ModuleScriptobjectSee below
ScriptobjectSee below

LocalScript fields:

FieldTypeDescription
Enabledboolean
RunContext`“Legacy""Server"
Sourcestring

ModuleScript fields:

FieldTypeDescription
Sourcestring

Script fields:

FieldTypeDescription
Enabledboolean
RunContext`“Legacy""Server"
Sourcestring
FieldTypeDescription
pathstring
metadataobjectSee below
doneboolean
errorobjectSee below
responseobjectSee below

error fields:

FieldTypeDescription
codenumber
messagestring
detailsunknown[]

getCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceIdListChildren

Section titled “getCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceIdListChildren”

GET /cloud/v2/universes/:universe_id/places/:place_id/instances/:instance_id:listChildren

BETA Lists an instance’s children. The maximum supported response data size is 500,000 bytes. If this limit is exceeded, the returned Operation will be completed with an error result that has an error code of 422. Engine: Not available in-engine

Scopes: universe.place.instance:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceIdListChildren } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdPlacesPlaceIdInstancesInstanceIdListChildren, {
universe_id: /* string */,
place_id: /* string */,
instance_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
place_idstringYesThe place ID.
instance_idstringYesThe instance ID.
maxPageSizeinteger?NoThe maximum number of child instance to return. The service may return fewer than this value. If unspecified, at most 200 children will be returned. The maximum value is 200; values above 200 will be coerced to 200.
pageTokenstring?NoA page token, received from a previous ListInstanceChildrenRequest call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListInstanceChildrenRequest must match the call that provided the page token.
FieldTypeDescription
pathstring
metadataobjectSee below
doneboolean
errorobjectSee below
responseobjectSee below

error fields:

FieldTypeDescription
codenumber
messagestring
detailsunknown[]

postCloudV2UniversesUniverseIdPlacesPlaceIdLuauExecutionSessionTasks

Section titled “postCloudV2UniversesUniverseIdPlacesPlaceIdLuauExecutionSessionTasks”

POST /cloud/v2/universes/:universe_id/places/:place_id/luau-execution-session-tasks

BETA Creates a task but does not wait for the task to complete. To check whether a task has completed, call the GetLuauExecutionSessionTask method and inspect the state field of the returned resource. Quotas: 5 calls per minute per API key owner 45 calls per minute per IP address Engine: Not available in-engine

Scopes: universe.place.luau-execution-session:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdPlacesPlaceIdLuauExecutionSessionTasks } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdPlacesPlaceIdLuauExecutionSessionTasks, {
universe_id: /* string */,
place_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
place_idstringYesThe place ID.
FieldTypeDescription
pathstring
createTimestring
updateTimestring
userstring
state`“STATE_UNSPECIFIED""QUEUED"
scriptstring
timeoutstring
errorobjectSee below
outputobjectSee below
binaryInputstring
enableBinaryOutputboolean
binaryOutputUristring

error fields:

FieldTypeDescription
code`“ERROR_CODE_UNSPECIFIED""SCRIPT_ERROR"
messagestring

output fields:

FieldTypeDescription
resultsunknown[]
FieldTypeDescription
pathstring
createTimestring
updateTimestring
userstring
state`“STATE_UNSPECIFIED""QUEUED"
scriptstring
timeoutstring
errorobjectSee below
outputobjectSee below
binaryInputstring
enableBinaryOutputboolean
binaryOutputUristring

error fields:

FieldTypeDescription
code`“ERROR_CODE_UNSPECIFIED""SCRIPT_ERROR"
messagestring

output fields:

FieldTypeDescription
resultsunknown[]

getCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictions

Section titled “getCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictions”

GET /cloud/v2/universes/:universe_id/places/:place_id/user-restrictions

BETA List user restrictions for users that have ever been banned in either a universe or a specific place. Engine: Not available in-engine

Scopes: universe.user-restriction:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictions } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictions, {
universe_id: /* string */,
place_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
place_idstringYesThe place ID.
maxPageSizeinteger?NoThe maximum number of user restrictions to return. The service might return fewer than this value. If unspecified, at most 10 user restrictions are returned. The maximum value is 100 and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
FieldTypeDescription
userRestrictionsobject[]See below
nextPageTokenstring

userRestrictions[] item fields:

FieldTypeDescription
pathstring
updateTimestring
userstring
gameJoinRestrictionobjectSee below

gameJoinRestriction fields:

FieldTypeDescription
activeboolean
startTimestring
durationstring
privateReasonstring
displayReasonstring
excludeAltAccountsboolean
inheritedboolean

getCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictionsUserRestrictionId

Section titled “getCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictionsUserRestrictionId”

GET /cloud/v2/universes/:universe_id/places/:place_id/user-restrictions/:user_restriction_id

BETA Get the user restriction. Engine: Not available in-engine

Scopes: universe.user-restriction:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictionsUserRestrictionId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictionsUserRestrictionId, {
universe_id: /* string */,
place_id: /* string */,
user_restriction_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
place_idstringYesThe place ID.
user_restriction_idstringYesThe user-restriction ID.
FieldTypeDescription
pathstring
updateTimestring
userstring
gameJoinRestrictionobjectSee below

gameJoinRestriction fields:

FieldTypeDescription
activeboolean
startTimestring
durationstring
privateReasonstring
displayReasonstring
excludeAltAccountsboolean
inheritedboolean

patchCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictionsUserRestrictionId

Section titled “patchCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictionsUserRestrictionId”

PATCH /cloud/v2/universes/:universe_id/places/:place_id/user-restrictions/:user_restriction_id

BETA Update the user restriction. Engine: Not available in-engine

Scopes: universe.user-restriction:write

Usage
import { fetchApi } from 'rozod';
import { patchCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictionsUserRestrictionId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(patchCloudV2UniversesUniverseIdPlacesPlaceIdUserRestrictionsUserRestrictionId, {
universe_id: /* string */,
place_id: /* string */,
user_restriction_id: /* string */,
updateMask: /* string? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
place_idstringYesThe place ID.
user_restriction_idstringYesThe user-restriction ID.
updateMaskstring?NoThe list of fields to update. The game_join_restriction field must be updated atomically; field masks that index into game_join_restriction (such as "game_join_restriction.active") are not supported.

All fields are optional (PATCH partial update)

FieldTypeDescription
pathstring
updateTimestring
userstring
gameJoinRestrictionobjectSee below

gameJoinRestriction fields:

FieldTypeDescription
activeboolean
startTimestring
durationstring
privateReasonstring
displayReasonstring
excludeAltAccountsboolean
inheritedboolean
FieldTypeDescription
pathstring
updateTimestring
userstring
gameJoinRestrictionobjectSee below

gameJoinRestriction fields:

FieldTypeDescription
activeboolean
startTimestring
durationstring
privateReasonstring
displayReasonstring
excludeAltAccountsboolean
inheritedboolean

postCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionTasks

Section titled “postCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionTasks”

POST /cloud/v2/universes/:universe_id/places/:place_id/versions/:version_id/luau-execution-session-tasks

BETA Creates a task but does not wait for the task to complete. To check whether a task has completed, call the GetLuauExecutionSessionTask method and inspect the state field of the returned resource. Quotas: 5 calls per minute per API key owner 45 calls per minute per IP address Engine: Not available in-engine

Scopes: universe.place.luau-execution-session:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionTasks } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionTasks, {
universe_id: /* string */,
place_id: /* string */,
version_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
place_idstringYesThe place ID.
version_idstringYesThe version ID.
FieldTypeDescription
pathstring
createTimestring
updateTimestring
userstring
state`“STATE_UNSPECIFIED""QUEUED"
scriptstring
timeoutstring
errorobjectSee below
outputobjectSee below
binaryInputstring
enableBinaryOutputboolean
binaryOutputUristring

error fields:

FieldTypeDescription
code`“ERROR_CODE_UNSPECIFIED""SCRIPT_ERROR"
messagestring

output fields:

FieldTypeDescription
resultsunknown[]
FieldTypeDescription
pathstring
createTimestring
updateTimestring
userstring
state`“STATE_UNSPECIFIED""QUEUED"
scriptstring
timeoutstring
errorobjectSee below
outputobjectSee below
binaryInputstring
enableBinaryOutputboolean
binaryOutputUristring

error fields:

FieldTypeDescription
code`“ERROR_CODE_UNSPECIFIED""SCRIPT_ERROR"
messagestring

output fields:

FieldTypeDescription
resultsunknown[]

getCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionsLuauExecutionSessionIdTasksTaskId

Section titled “getCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionsLuauExecutionSessionIdTasksTaskId”

GET /cloud/v2/universes/:universe_id/places/:place_id/versions/:version_id/luau-execution-sessions/:luau_execution_session_id/tasks/:task_id

BETA Gets information about a task. Quotas: 45 calls per minute per API key owner or IP address Engine: Not available in-engine

Scopes: universe.place.luau-execution-session:read, universe.place.luau-execution-session:write

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionsLuauExecutionSessionIdTasksTaskId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionsLuauExecutionSessionIdTasksTaskId, {
universe_id: /* string */,
place_id: /* string */,
version_id: /* string */,
luau_execution_session_id: /* string */,
task_id: /* string */,
view: /* enum */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
place_idstringYesThe place ID.
version_idstringYesThe version ID.
luau_execution_session_idstringYesThe luau-execution-session ID.
task_idstringYesThe task ID.
viewenumYesThe view in which to retrieve the luau execution session task. Supports BASIC and FULL. Defaults to BASIC. Possible values: | Value | Description | | --- | --- | | VIEW_UNSPECIFIED | The luau execution session task view is not specified; the default will be used. | | BASIC | Excludes the script field. | | FULL | Includes all fields. |
FieldTypeDescription
pathstring
createTimestring
updateTimestring
userstring
state`“STATE_UNSPECIFIED""QUEUED"
scriptstring
timeoutstring
errorobjectSee below
outputobjectSee below
binaryInputstring
enableBinaryOutputboolean
binaryOutputUristring

error fields:

FieldTypeDescription
code`“ERROR_CODE_UNSPECIFIED""SCRIPT_ERROR"
messagestring

output fields:

FieldTypeDescription
resultsunknown[]

getCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionsLuauExecutionSessionIdTasksTaskIdLogs

Section titled “getCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionsLuauExecutionSessionIdTasksTaskIdLogs”

GET /cloud/v2/universes/:universe_id/places/:place_id/versions/:version_id/luau-execution-sessions/:luau_execution_session_id/tasks/:task_id/logs

BETA Lists log chunks generated by a LuauExecutionSessionTask. Quotas: 45 calls per minute per API key owner or IP address Engine: Not available in-engine

Scopes: universe.place.luau-execution-session:read, universe.place.luau-execution-session:write

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionsLuauExecutionSessionIdTasksTaskIdLogs } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdPlacesPlaceIdVersionsVersionIdLuauExecutionSessionsLuauExecutionSessionIdTasksTaskIdLogs, {
universe_id: /* string */,
place_id: /* string */,
version_id: /* string */,
luau_execution_session_id: /* string */,
task_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
view: /* enum */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
place_idstringYesThe place ID.
version_idstringYesThe version ID.
luau_execution_session_idstringYesThe luau-execution-session ID.
task_idstringYesThe task ID.
maxPageSizeinteger?NoThe maximum number of luau execution session task logs to return. The service might return fewer than this value. If unspecified, at most 10000 luau execution session task logs are returned. The maximum value is 10000 and higher values are set to 10000.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
viewenumYesThe view in which to retrieve the luau execution session task log. Supports FLAT and STRUCTURED. Defaults to FLAT. Possible values: | Value | Description | | --- | --- | | VIEW_UNSPECIFIED | The luau execution session task log view is not specified; the default will be used. | | FLAT | If this view is selected, the messages field will be populated (and the structuredMessages field will not). Each entry of the messages array contains only the log message, without additional medata. This is the default. | | STRUCTURED | If this view is selected, the structuredMessages field will be populated (and the messages field will not). Each entry of the structuredMessages array contains the log message plus additional metadata (see LogMessage for details). |
FieldTypeDescription
luauExecutionSessionTaskLogsobject[]See below
nextPageTokenstring

luauExecutionSessionTaskLogs[] item fields:

FieldTypeDescription
pathstring
messagesstring[]
structuredMessagesobject[]See below

structuredMessages[] item fields:

FieldTypeDescription
messagestring
createTimestring
messageType`“MESSAGE_TYPE_UNSPECIFIED""OUTPUT"

getCloudV2UniversesUniverseIdSubscriptionProductsSubscriptionProductIdSubscriptionsSubscriptionId

Section titled “getCloudV2UniversesUniverseIdSubscriptionProductsSubscriptionProductIdSubscriptionsSubscriptionId”

GET /cloud/v2/universes/:universe_id/subscription-products/:subscription_product_id/subscriptions/:subscription_id

BETA Get the subscription. The universe.subscription-product.subscription:read scope only allows reading subscriptions of the user making the request. Because of this, the subscription ID must match the user ID of the user making the request. Note that this scope might be more relevant for OAuth 2.0 apps. To read all subscriptions made by users for a particular universe, use the universe:write scope instead. Engine: Not available in-engine

Scopes: universe:write, universe.subscription-product.subscription:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdSubscriptionProductsSubscriptionProductIdSubscriptionsSubscriptionId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdSubscriptionProductsSubscriptionProductIdSubscriptionsSubscriptionId, {
universe_id: /* string */,
subscription_product_id: /* string */,
subscription_id: /* string */,
view: /* enum */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
subscription_product_idstringYesThe subscription-product ID.
subscription_idstringYesThe subscription ID.
viewenumYesThe view in which to retrieve the subscription. Supports BASIC and FULL. Defaults to BASIC. Possible values: | Value | Description | | --- | --- | | VIEW_UNSPECIFIED | The subscription view is not specified; the default will be used. | | BASIC | Includes only the active and renewing fields. | | FULL | Includes all fields. |
FieldTypeDescription
pathstring
createTimestring
updateTimestring
activeboolean
willRenewboolean
lastBillingTimestring
nextRenewTimestring
expireTimestring
state`“STATE_UNSPECIFIED""SUBSCRIBED_WILL_RENEW"
expirationDetailsobjectSee below
purchasePlatform`“PURCHASE_PLATFORM_UNSPECIFIED""DESKTOP"
paymentProvider`“PAYMENT_PROVIDER_UNSPECIFIED""STRIPE"
userstring

expirationDetails fields:

FieldTypeDescription
reason`“EXPIRATION_REASON_UNSPECIFIED""PRODUCT_INACTIVE"

getCloudV2UniversesUniverseIdUserRestrictions

Section titled “getCloudV2UniversesUniverseIdUserRestrictions”

GET /cloud/v2/universes/:universe_id/user-restrictions

BETA List user restrictions for users that have ever been banned in either a universe or a specific place. Engine: Not available in-engine

Scopes: universe.user-restriction:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdUserRestrictions } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdUserRestrictions, {
universe_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
maxPageSizeinteger?NoThe maximum number of user restrictions to return. The service might return fewer than this value. If unspecified, at most 10 user restrictions are returned. The maximum value is 100 and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
FieldTypeDescription
userRestrictionsobject[]See below
nextPageTokenstring

userRestrictions[] item fields:

FieldTypeDescription
pathstring
updateTimestring
userstring
gameJoinRestrictionobjectSee below

gameJoinRestriction fields:

FieldTypeDescription
activeboolean
startTimestring
durationstring
privateReasonstring
displayReasonstring
excludeAltAccountsboolean
inheritedboolean

getCloudV2UniversesUniverseIdUserRestrictionsListLogs

Section titled “getCloudV2UniversesUniverseIdUserRestrictionsListLogs”

GET /cloud/v2/universes/:universe_id/user-restrictions:listLogs

BETA List changes to UserRestriction resources within a given universe. This includes both universe-level and place-level restrictions. For universe-level restriction logs, the place field will be empty. Engine: Not available in-engine

Scopes: universe.user-restriction:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdUserRestrictionsListLogs } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdUserRestrictionsListLogs, {
universe_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
maxPageSizeinteger?NoThe maximum number of UserRestrictionLogs to return. The service may return fewer than this value. If unspecified, at most 10 UserRestrictionLogs are returned. The maximum value is 100 and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoThis field may be set to filter the logs returned. The filter field supports a very small number of CEL: user place The == comparison operator is available. The && logical operator is also supported. As an example, filtering for a user and a place takes the form filter="user == 'users/123'" && "place == 'places/456'"
FieldTypeDescription
logsobject[]See below
nextPageTokenstring

logs[] item fields:

FieldTypeDescription
userstring
placestring
moderatorobjectSee below
createTimestring
activeboolean
startTimestring
durationstring
privateReasonstring
displayReasonstring
restrictionTypeobjectSee below
excludeAltAccountsboolean

moderator fields:

FieldTypeDescription
robloxUserstring
gameServerScriptobjectSee below

restrictionType fields:

FieldTypeDescription
gameJoinRestrictionobjectSee below

getCloudV2UniversesUniverseIdUserRestrictionsUserRestrictionId

Section titled “getCloudV2UniversesUniverseIdUserRestrictionsUserRestrictionId”

GET /cloud/v2/universes/:universe_id/user-restrictions/:user_restriction_id

BETA Get the user restriction. Engine: Not available in-engine

Scopes: universe.user-restriction:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UniversesUniverseIdUserRestrictionsUserRestrictionId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UniversesUniverseIdUserRestrictionsUserRestrictionId, {
universe_id: /* string */,
user_restriction_id: /* string */
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
user_restriction_idstringYesThe user-restriction ID.
FieldTypeDescription
pathstring
updateTimestring
userstring
gameJoinRestrictionobjectSee below

gameJoinRestriction fields:

FieldTypeDescription
activeboolean
startTimestring
durationstring
privateReasonstring
displayReasonstring
excludeAltAccountsboolean
inheritedboolean

patchCloudV2UniversesUniverseIdUserRestrictionsUserRestrictionId

Section titled “patchCloudV2UniversesUniverseIdUserRestrictionsUserRestrictionId”

PATCH /cloud/v2/universes/:universe_id/user-restrictions/:user_restriction_id

BETA Update the user restriction. Engine: Not available in-engine

Scopes: universe.user-restriction:write

Usage
import { fetchApi } from 'rozod';
import { patchCloudV2UniversesUniverseIdUserRestrictionsUserRestrictionId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(patchCloudV2UniversesUniverseIdUserRestrictionsUserRestrictionId, {
universe_id: /* string */,
user_restriction_id: /* string */,
updateMask: /* string? */,
body: { /* ... */ }
});
NameTypeRequiredDescription
universe_idstringYesThe universe ID.
user_restriction_idstringYesThe user-restriction ID.
updateMaskstring?NoThe list of fields to update. The game_join_restriction field must be updated atomically; field masks that index into game_join_restriction (such as "game_join_restriction.active") are not supported.

All fields are optional (PATCH partial update)

FieldTypeDescription
pathstring
updateTimestring
userstring
gameJoinRestrictionobjectSee below

gameJoinRestriction fields:

FieldTypeDescription
activeboolean
startTimestring
durationstring
privateReasonstring
displayReasonstring
excludeAltAccountsboolean
inheritedboolean
FieldTypeDescription
pathstring
updateTimestring
userstring
gameJoinRestrictionobjectSee below

gameJoinRestriction fields:

FieldTypeDescription
activeboolean
startTimestring
durationstring
privateReasonstring
displayReasonstring
excludeAltAccountsboolean
inheritedboolean

GET /cloud/v2/users/:user_id

BETA Gets a user’s basic and advanced information. To access a user’s public information, no additional scopes are required. To access a user’s verification status, you need the following scopes: user.advanced:read To access a user’s social account information, you need the following scopes: user.social:read Engine: Not available in-engine

Scopes: user.advanced:read, user.social:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UsersUserId } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UsersUserId, {
user_id: /* string */
});
NameTypeRequiredDescription
user_idstringYesThe user ID.
FieldTypeDescription
pathstring
createTimestring
idstring
namestring
displayNamestring
aboutstring
localestring
premiumboolean
idVerifiedboolean
socialNetworkProfilesobjectSee below

socialNetworkProfiles fields:

FieldTypeDescription
facebookstring
twitterstring
youtubestring
twitchstring
guildedstring
visibility`“SOCIAL_NETWORK_VISIBILITY_UNSPECIFIED""NO_ONE"

GET /cloud/v2/users/:user_id:generateThumbnail

BETA Generates and returns the URL for the user’s avatar thumbnail. Engine: Not available in-engine

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UsersUserIdGenerateThumbnail } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UsersUserIdGenerateThumbnail, {
user_id: /* string */,
size: /* integer? */,
format: /* enum */,
shape: /* enum */
});
NameTypeRequiredDescription
user_idstringYesThe user ID.
sizeinteger?NoSize of the generated thumbnail. The generated thumbnail will have size size dimension. Currently supported values: 48, 50, 60, 75, 100, 110, 150, 180, 352, 420, 720 Default is 420.
formatenumYesSpecify the format of the generated thumbnail. Default is PNG. Possible values: | Value | Description | | --- | --- | | FORMAT_UNSPECIFIED | Default UserThumbnail Format — set to png | | PNG | Generate thumbnail in .png format | | JPEG | Generate thumbnail in .jpg format |
shapeenumYesSpecify the shape of the thumbnail. Default is ROUND (circular). Possible values: | Value | Description | | --- | --- | | SHAPE_UNSPECIFIED | Default UserThumbnail Shape — set to round | | ROUND | Generate thumbnail as a circle. | | SQUARE | Generate thumbnail as a rectangle. |
FieldTypeDescription
pathstring
metadataobjectSee below
doneboolean
errorobjectSee below
responseobjectSee below

error fields:

FieldTypeDescription
codenumber
messagestring
detailsunknown[]

GET /cloud/v2/users/:user_id/asset-quotas

BETA Returns a list of asset quotas. Engine: Not available in-engine

Scopes: asset:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UsersUserIdAssetQuotas } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UsersUserIdAssetQuotas, {
user_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */
});
NameTypeRequiredDescription
user_idstringYesThe user ID.
maxPageSizeinteger?NoThe maximum number of asset quotas to return. The service might return fewer than this value. If unspecified, at most 10 asset quotas are returned. The maximum value is 100 and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoThis field may be set in order to filter the resources returned. Supports the following subset of CEL: Only the quotaType and assetType fields are supported. Only the == and && operator are supported. For example: quotaType == RateLimitUpload && assetType == Audio
FieldTypeDescription
assetQuotasobject[]See below
nextPageTokenstring

assetQuotas[] item fields:

FieldTypeDescription
pathstring
quotaType`“QUOTA_TYPE_UNSPECIFIED""RATE_LIMIT_UPLOAD"
assetType`“ASSET_TYPE_UNSPECIFIED""IMAGE"
usagenumber
capacitynumber
period`“PERIOD_UNSPECIFIED""MONTH"
usageResetTimestring

GET /cloud/v2/users/:user_id/inventory-items

BETA List the inventory items in a user’s inventory. The inventory items returned depend on the target user’s choice under *Settings > Privacy > Who can see my inventory?**: If the user granted inventory visibility to “Everyone,” then any API key or OAuth2 token can be used to view the target’s inventory, no matter what scopes it has or who created it. If the user has not granted inventory visibility to “Everyone”: Their inventory can still be viewed with an API key created by the target user with Inventory: Read permission. Their inventory can still be viewed with an OAuth2 token if the target user authorizes an app requesting permissions for the user.inventory-item:read scope. Engine: Usable with HttpService

Scopes: user.inventory-item:read

Usage
import { fetchApi } from 'rozod';
import { getCloudV2UsersUserIdInventoryItems } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(getCloudV2UsersUserIdInventoryItems, {
user_id: /* string */,
maxPageSize: /* integer? */,
pageToken: /* string? */,
filter: /* string? */
});
NameTypeRequiredDescription
user_idstringYesThe user ID.
maxPageSizeinteger?NoThe maximum number of inventory items to return. The service might return fewer than this value. If unspecified, at most 10 inventory items are returned. The maximum value is 100 and higher values are set to 100.
pageTokenstring?NoA page token, received from a previous call, to retrieve a subsequent page. When paginating, all other parameters provided to the subsequent call must match the call that provided the page token.
filterstring?NoThis field may be set in order to filter the resources returned. See the filtering documentation for more information.
FieldTypeDescription
inventoryItemsobject[]See below
nextPageTokenstring

inventoryItems[] item fields:

FieldTypeDescription
pathstring
assetDetailsobjectSee below
badgeDetailsobjectSee below
gamePassDetailsobjectSee below
privateServerDetailsobjectSee below
addTimestring

assetDetails fields:

FieldTypeDescription
assetIdstring
inventoryItemAssetType`“INVENTORY_ITEM_ASSET_TYPE_UNSPECIFIED""CLASSIC_TSHIRT"
instanceIdstring
collectibleDetailsobjectSee below

collectibleDetails fields:

FieldTypeDescription
itemIdstring
instanceIdstring
instanceState`“COLLECTIBLE_ITEM_INSTANCE_STATE_UNSPECIFIED""AVAILABLE"
serialNumbernumber

badgeDetails fields:

FieldTypeDescription
badgeIdstring

gamePassDetails fields:

FieldTypeDescription
gamePassIdstring

privateServerDetails fields:

FieldTypeDescription
privateServerIdstring

POST /cloud/v2/users/:user_id/notifications

STABLE Sends a notification to a user. Engine: Not available in-engine

Scopes: user.user-notification:write

Usage
import { fetchApi } from 'rozod';
import { postCloudV2UsersUserIdNotifications } from 'rozod/lib/opencloud/v2/cloud';
const data = await fetchApi(postCloudV2UsersUserIdNotifications, {
user_id: /* string */,
body: { /* ... */ }
});
NameTypeRequiredDescription
user_idstringYesThe user ID.
FieldTypeDescription
pathstring
idstring
sourceobjectSee below
payloadobjectSee below

source fields:

FieldTypeDescription
universestring

payload fields:

FieldTypeDescription
type`“TYPE_UNSPECIFIED""MOMENT”`
messageIdstring
parametersobjectSee below
joinExperienceobjectSee below
analyticsDataobjectSee below

parameters fields:

FieldTypeDescription
stringValuestring
int64Valuenumber

joinExperience fields:

FieldTypeDescription
launchDatastring

analyticsData fields:

FieldTypeDescription
categorystring
FieldTypeDescription
pathstring
idstring
sourceobjectSee below
payloadobjectSee below

source fields:

FieldTypeDescription
universestring

payload fields:

FieldTypeDescription
type`“TYPE_UNSPECIFIED""MOMENT”`
messageIdstring
parametersobjectSee below
joinExperienceobjectSee below
analyticsDataobjectSee below

parameters fields:

FieldTypeDescription
stringValuestring
int64Valuenumber

joinExperience fields:

FieldTypeDescription
launchDatastring

analyticsData fields:

FieldTypeDescription
categorystring