Assets API

Assets

https://apis.roblox.com/assets

Get Asset

GET /v1/assets

Parameters

assetId object
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 object
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
path string
metadata object
done boolean
error object
response object

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 object
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
application/json

{\"previews\": [\n {\"asset\": \"assets/123\", \"altText\": \"preview 1\"},\n {\"asset\": \"assets/456\", \"altText\": \"preview 2\"}\n]}
path string
metadata object
done boolean
error object
response object

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
path string
metadata object
done boolean
error object
response object

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 object
description string
displayName string
path string
revisionId string
revisionCreateTime string
moderationResult object
icon string
previews array<object>
socialLink object

CreationContext

Attributes

creator object
Required
expectedPrice number

Creator

Attributes

userId number
groupId number

ModerationResult

Attributes

moderationState string

Operation

Attributes

path string
metadata object
done boolean
error object
response object

Preview

Attributes

asset string
altText string

Attributes

title string
uri string

Status

Attributes

code number
message string
details array<object>