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

Required Permissions

  • Read
  • asset:read

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

200 - OK
Returns the Operation ID for checking the creation status.
Returns an object: Operation
path string
metadata Any
done boolean
error Status
response Any

Required Permissions

  • Read
  • Write
  • asset:read
  • asset:write

Limits

Per API Key: 60 requests every 60 seconds per IP Address

Update Asset

PATCH /v1/assets/{assetId}

Parameters

request Asset
FormData
Required
fileContent string
FormData
updateMask string

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

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.\"}]}"'
Update Social Links

Response

200 - OK
Returns the Operation ID for checking the update status / Returns the updated metadata fields.
Returns an object: Operation
path string
metadata Any
done boolean
error Status
response Any

Required Permissions

  • Read
  • Write
  • asset:read
  • asset:write

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

Required Permissions

  • Read
  • asset:read

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

Required Permissions

  • Read
  • asset:read

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

Required Permissions

  • Read
  • Write
  • asset:read
  • asset:write

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

200 - OK
Returns an object: Operation
path string
metadata Any
done boolean
error Status
response Any

Required Permissions

  • Read
  • asset:read

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

Asset

Attributes

assetType string
assetId number
creationContext CreationContext
description string
displayName string
path string
revisionId string
revisionCreateTime string
moderationResult ModerationResult
icon string
previews array<Preview>
socialLink SocialLink

CreationContext

Attributes

creator Creator
Required
expectedPrice number

Creator

Attributes

userId number
groupId number

ModerationResult

Attributes

moderationState string

Operation

Attributes

path string
metadata Any
done boolean
error Status
response Any

Preview

Attributes

asset string
altText string

Attributes

title string
uri string

Status

Attributes

code number
message string
details array<Any>