Assets API
Assets
https://apis.roblox.com/assets
Get Asset
GET /v1/assets
Parameters
assetId Asset
Path
Required
readMask string
Request
Get Asset without readMask
curl --location --request GET 'https://apis.roblox.com/assets/v1/assets/{assetId}' \
--header 'x-api-key: {apiKey}'
Get Asset with readMask
curl --location --request GET 'https://apis.roblox.com/assets/v1/assets/{assetId}?readMask={read_mask}' \
--header 'x-api-key: {apiKey}'
Response
Other Status Codes
Required Permissions
Limits
Per API Key: 60 requests every 60 seconds per IP Address
Create Asset
POST /v1/assets
Parameters
request Asset
FormData
Required
fileContent string
FormData
Required
Request
Create Asset
curl --location --request POST 'https://apis.roblox.com/assets/v1/assets' \
--header 'x-api-key: {apiKey}' \
--form 'request="{
\"assetType\": \"Model\",
\"displayName\": \"Name\",
\"description\": \"This is a description\",
\"creationContext\": {
\"creator\": {
\"userId\": \"${userId}\"
}
}
}"' \
--form 'fileContent=@"/filepath/model.fbx";type=model/fbx'
Response
Other Status Codes
Required Permissions
Limits
Per API Key: 60 requests every 60 seconds per IP Address
Update Asset
PATCH /v1/assets/{assetId}
Parameters
Request
Update Content Only and Create a New Version
curl --location --request PATCH 'https://apis.roblox.com/assets/v1/assets/{assetId}' \
--header 'x-api-key: {apiKey}' \
--form 'request="{\"assetId\": {assetId} }"' \
--form 'fileContent="@\"{file-path}\""'
Update Content and Metadata
curl --location --request PATCH 'https://apis.roblox.com/assets/v1/assets/{assetId}?updateMask=description%2CdisplayName' \
--header 'x-api-key: {apiKey}' \
--form 'request="{
\"assetType\": \"{assetType}\",
\"assetId\": {assetId},
\"displayName\": \"{new display name}\",
\"description\": \"{new description}\",
\"creationContext\": {
\"creator\": {
\"userId\": {userId}
},
\"expectedPrice\":{expectedPrice}
},
}"' \
--form 'fileContent=@\"{file-path}\"'
Update a List of Previews
curl --location --request PATCH 'https://apis.roblox.com/assets/v1/assets/{assetId}?updateMask=previews' \
--header 'x-api-key: {apiKey}' \
--form 'request="{\"assetId\": {assetId}, \"previews\": [{\"asset\": \"assets/123\", \"altText\": \"Your alt text.\"}]}"'
Response
Other Status Codes
Required Permissions
Limits
Per API Key: 60 requests every 60 seconds per IP Address
Get Asset Version
GET /v1/assets/{assetId}/versions/{versionNumber}
Parameters
assetId string
Path
Required
versionNumber string
Path
Required
Request
Get Asset Version
curl --location 'https://apis.roblox.com/assets/v1/assets/{assetId}/versions/{versionNumber}' \
--header 'x-api-key: {apiKey}'
Response
Other Status Codes
Required Permissions
Limits
Per API Key: 60 requests every 60 seconds per IP Address
List Asset Versions
GET /assets/v1/assets/{assetId}/versions
Parameters
assetId string
Path
Required
maxPageSize number
pageToken string
Request
List Asset Versions
curl --location 'https://apis.roblox.com/assets/v1/assets/{assetid}/versions?pageToken=&maxPageSize=' \
--header 'x-api-key: {apiKey}'
Response
Other Status Codes
Required Permissions
Limits
Per API Key: 60 requests every 60 seconds per IP Address
Rollback Asset Version
POST /assets/v1/assets/{assetId}/versions:rollback
Parameters
assetId string
Path
Required
assetVersion string
FormData
Required
Request
Rollback Asset Versions
curl --location 'https://apis.roblox.com/assets/v1/assets/{assetid}/versions:rollback' \
--header 'x-api-key: {apiKey}' \
--header 'Content-Type: application/json' \
--data '{\"assetVersion\":\"assets/{assetId}/versions/{versionNumber}\"}'
Response
Other Status Codes
Required Permissions
Limits
Per API Key: 60 requests every 60 seconds per IP Address
Get Operation
GET /v1/operations/{operationId}
Request
Get Operation
curl --location 'https://apis.roblox.com/assets/v1/operations/{operationId}' \
--header 'x-api-key: {apiKey}'
Response
Other Status Codes
Required Permissions
Limits
Per API Key: 60 requests every 60 seconds per IP Address
Objects
The following objects describe payloads that are accepted or returned. See each individual endpoint for more information on when these objects are used.Any
Attributes
@type string
Required
Asset
Attributes
assetType string
Required
assetId number
Required
creationContext CreationContext
Required
description string
Required
displayName string
Required
path string
Required
revisionId string
Required
revisionCreateTime string
Required
moderationResult ModerationResult
Required
icon string
Required
Required
Creator
Attributes
userId number
Required
groupId number
Required
ModerationResult
Attributes
moderationState string
Required
Operation
Attributes
Preview
Attributes
asset string
Required
altText string
Required