Add Model To Group Inventory On Submit #43

Open
opened 2025-03-29 01:13:04 +00:00 by Quaternions · 1 comment
Owner

Roblox has a new capability to add assets to a group inventory to make them loadable on a group game. Take advantage of this to finally move maptest places into the staging group.

Roblox has a new capability to add assets to a group inventory to make them loadable on a group game. Take advantage of this to finally move maptest places into the staging group.
Quaternions added the
backend
label 2025-03-29 01:48:22 +00:00
Quaternions added the
validator
label 2025-03-29 05:20:26 +00:00
Quaternions added this to the (deleted) milestone 2025-03-29 05:31:04 +00:00
Member

You can do this using the https://apis.roblox.com/asset-permissions-api/v1/assets/permissions endpoint.
You'll need an account cookie and the usual x-csrf-token stuff to use it.
Using the web interface roblox provides, the request needs to be a PATCH with the following data:

{
    "subjectType": "Universe",
    "subjectId": "4422715291",
    "action": "Use",
    "enableDeepAccessCheck": true,
    "requests": [
        {
            "assetId": 104634944063581,
            "grantToDependencies": true
        },
        ...
    ]
}

subjectType: Should never change (we are always giving a game place aka an experience aka a universe permission to use an asset)
subjectId: This the id of the place we are giving the asset permission to (in this case, 4422715291 is the bhop maptest place from the staging group)
action & enableDeepAccessCheck: I've got no clue what these do, however they are always the same ("Use" and true respectively)
requests: This will contain a list of asset ids being granted access, every entry in the requests list contains the assetId and grantToDependencies keys. My assumption is that the second key is to determine wether we are giving or removing access to the asset. You can also set more than 1 asset's permissions at once by simply adding more entries under requests

Important note: Once this call is made, there appears to be no way to undo the operation. I am unable to remove an asset's access...

You can do this using the `https://apis.roblox.com/asset-permissions-api/v1/assets/permissions` endpoint. You'll need an account cookie and the usual x-csrf-token stuff to use it. Using the web interface roblox provides, the request needs to be a `PATCH` with the following data: ```json { "subjectType": "Universe", "subjectId": "4422715291", "action": "Use", "enableDeepAccessCheck": true, "requests": [ { "assetId": 104634944063581, "grantToDependencies": true }, ... ] } ``` `subjectType`: Should never change (we are always giving a game place aka an experience aka a universe permission to use an asset) `subjectId`: This the id of the place we are giving the asset permission to (in this case, `4422715291` is the bhop maptest place from the staging group) `action` & `enableDeepAccessCheck`: I've got no clue what these do, however they are always the same ("Use" and true respectively) `requests`: This will contain a list of asset ids being granted access, every entry in the requests list contains the `assetId` and `grantToDependencies` keys. My assumption is that the second key is to determine wether we are giving or removing access to the asset. You can also set more than 1 asset's permissions at once by simply adding more entries under `requests` Important note: Once this call is made, there appears to be no way to undo the operation. I am unable to remove an asset's access...
Sign in to join this conversation.
No description provided.