Asset Delivery v1
Reference for the Asset Delivery v1 endpoints on Roblox.
Base URL: https://assetdelivery.roblox.com
Endpoints
Section titled “Endpoints”| Method | Path | Name |
|---|---|---|
GET |
/v1/alias/:alias |
getAliasAlias |
GET |
/v1/asset |
getAsset |
GET |
/v1/assetId/:assetId |
getAssetidAssetid |
GET |
/v1/assetId/:assetId/version/:versionNumber |
getAssetidAssetidVersionVersionnumber |
POST |
/v1/assets/batch |
postAssetsBatch |
GET |
/v1/marAssetHash/:marAssetHash/marCheckSum/:marCheckSum |
getMarassethashMarassethashMarchecksumMarchecksum |
GET |
/v1/openCloud/assetId/:assetId |
getOpencloudAssetidAssetid |
GET |
/v1/openCloud/assetId/:assetId/version/:versionNumber |
getOpencloudAssetidAssetidVersionVersionnumber |
getAliasAlias
Section titled “getAliasAlias”GET /v1/alias/:alias
Retrieves an asset by its alias (universeID/name)
Usage
import { fetchApi } from 'rozod';import { getAliasAlias } from 'rozod/endpoints/assetdeliveryv1';
const data = await fetchApi(getAliasAlias, { alias: /* string */, AssetType: /* string */, AssetFormat: /* string */, skipSigningScripts: /* boolean? */, clientInsert: /* integer? */, scriptinsert: /* integer? */, modulePlaceId: /* integer? */, serverplaceid: /* integer? */, expectedAssetType: /* string? */, accessContext: /* string? */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
alias |
string |
Yes | The alias of the asset to retrieve. |
AssetType |
string |
Yes | |
AssetFormat |
string |
Yes | |
skipSigningScripts |
boolean? |
No | |
clientInsert |
integer? |
No | |
scriptinsert |
integer? |
No | |
modulePlaceId |
integer? |
No | |
serverplaceid |
integer? |
No | |
expectedAssetType |
string? |
No | |
accessContext |
string? |
No |
Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
location |
string |
|
errors |
object[] |
See below |
requestId |
string |
|
isArchived |
boolean |
|
assetTypeId |
number |
|
contentRepresentationSpecifier |
object |
See below |
assetMetadatas |
object[] |
See below |
isRecordable |
boolean |
errors[] item fields:
| Field | Type | Description |
|---|---|---|
Code |
number |
|
Message |
string |
|
CustomErrorCode |
`“UnknownError” | “NoPermissionToAsset” |
contentRepresentationSpecifier fields:
| Field | Type | Description |
|---|---|---|
format |
string |
|
majorVersion |
string |
|
fidelity |
string |
|
skipGenerationIfNotExist |
boolean |
assetMetadatas[] item fields:
| Field | Type | Description |
|---|---|---|
metadataType |
'UncompressedSize' |
|
value |
string |
getAsset
Section titled “getAsset”GET /v1/asset
Usage
import { fetchApi } from 'rozod';import { getAsset } from 'rozod/endpoints/assetdeliveryv1';
const data = await fetchApi(getAsset, { AssetType: /* string */, AssetFormat: /* string */, id: /* integer? */, userAssetId: /* integer? */, assetVersionId: /* integer? */, version: /* integer? */, universeId: /* integer? */, clientInsert: /* integer? */, scriptinsert: /* integer? */, modulePlaceId: /* integer? */, serverplaceid: /* string? */, assetName: /* string? */, hash: /* string? */, marAssetHash: /* string? */, marCheckSum: /* string? */, expectedAssetType: /* string? */, skipSigningScripts: /* boolean? */, permissionContext: /* string? */, doNotFallbackToBaselineRepresentation: /* boolean? */, contentRepresentationPriorityList: /* string? */, assetResolutionMode: /* string? */, accessContext: /* string? */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
AssetType |
string |
Yes | |
AssetFormat |
string |
Yes | |
id |
integer? |
No | |
userAssetId |
integer? |
No | |
assetVersionId |
integer? |
No | |
version |
integer? |
No | |
universeId |
integer? |
No | |
clientInsert |
integer? |
No | |
scriptinsert |
integer? |
No | |
modulePlaceId |
integer? |
No | |
serverplaceid |
string? |
No | |
assetName |
string? |
No | |
hash |
string? |
No | |
marAssetHash |
string? |
No | |
marCheckSum |
string? |
No | |
expectedAssetType |
string? |
No | |
skipSigningScripts |
boolean? |
No | |
permissionContext |
string? |
No | |
doNotFallbackToBaselineRepresentation |
boolean? |
No | |
contentRepresentationPriorityList |
string? |
No | |
assetResolutionMode |
string? |
No | |
accessContext |
string? |
No |
Response
Section titled “Response”Type: unknown
getAssetidAssetid
Section titled “getAssetidAssetid”GET /v1/assetId/:assetId
Retrieves an asset by its ID
Usage
import { fetchApi } from 'rozod';import { getAssetidAssetid } from 'rozod/endpoints/assetdeliveryv1';
const data = await fetchApi(getAssetidAssetid, { assetId: /* integer */, AssetType: /* string */, AssetFormat: /* string */, skipSigningScripts: /* boolean? */, clientInsert: /* integer? */, scriptinsert: /* integer? */, modulePlaceId: /* integer? */, serverplaceid: /* integer? */, expectedAssetType: /* string? */, doNotFallbackToBaselineRepresentation: /* boolean? */, contentRepresentationPriorityList: /* string? */, accessContext: /* string? */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
assetId |
integer |
Yes | The ID of the asset to retrieve. |
AssetType |
string |
Yes | |
AssetFormat |
string |
Yes | |
skipSigningScripts |
boolean? |
No | |
clientInsert |
integer? |
No | |
scriptinsert |
integer? |
No | |
modulePlaceId |
integer? |
No | |
serverplaceid |
integer? |
No | |
expectedAssetType |
string? |
No | |
doNotFallbackToBaselineRepresentation |
boolean? |
No | |
contentRepresentationPriorityList |
string? |
No | |
accessContext |
string? |
No |
Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
location |
string |
|
errors |
object[] |
See below |
requestId |
string |
|
isArchived |
boolean |
|
assetTypeId |
number |
|
contentRepresentationSpecifier |
object |
See below |
assetMetadatas |
object[] |
See below |
isRecordable |
boolean |
errors[] item fields:
| Field | Type | Description |
|---|---|---|
Code |
number |
|
Message |
string |
|
CustomErrorCode |
`“UnknownError” | “NoPermissionToAsset” |
contentRepresentationSpecifier fields:
| Field | Type | Description |
|---|---|---|
format |
string |
|
majorVersion |
string |
|
fidelity |
string |
|
skipGenerationIfNotExist |
boolean |
assetMetadatas[] item fields:
| Field | Type | Description |
|---|---|---|
metadataType |
'UncompressedSize' |
|
value |
string |
getAssetidAssetidVersionVersionnumber
Section titled “getAssetidAssetidVersionVersionnumber”GET /v1/assetId/:assetId/version/:versionNumber
Retrieves an asset by its ID and version number.
Usage
import { fetchApi } from 'rozod';import { getAssetidAssetidVersionVersionnumber } from 'rozod/endpoints/assetdeliveryv1';
const data = await fetchApi(getAssetidAssetidVersionVersionnumber, { assetId: /* integer */, versionNumber: /* integer */, AssetType: /* string */, AssetFormat: /* string */, skipSigningScripts: /* boolean? */, clientInsert: /* integer? */, scriptinsert: /* integer? */, modulePlaceId: /* integer? */, serverplaceid: /* integer? */, expectedAssetType: /* string? */, doNotFallbackToBaselineRepresentation: /* boolean? */, contentRepresentationPriorityList: /* string? */, accessContext: /* string? */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
assetId |
integer |
Yes | The ID of the asset to retrieve. |
versionNumber |
integer |
Yes | The version of the asset to retrieve. |
AssetType |
string |
Yes | |
AssetFormat |
string |
Yes | |
skipSigningScripts |
boolean? |
No | |
clientInsert |
integer? |
No | |
scriptinsert |
integer? |
No | |
modulePlaceId |
integer? |
No | |
serverplaceid |
integer? |
No | |
expectedAssetType |
string? |
No | |
doNotFallbackToBaselineRepresentation |
boolean? |
No | |
contentRepresentationPriorityList |
string? |
No | |
accessContext |
string? |
No |
Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
location |
string |
|
errors |
object[] |
See below |
requestId |
string |
|
isArchived |
boolean |
|
assetTypeId |
number |
|
contentRepresentationSpecifier |
object |
See below |
assetMetadatas |
object[] |
See below |
isRecordable |
boolean |
errors[] item fields:
| Field | Type | Description |
|---|---|---|
Code |
number |
|
Message |
string |
|
CustomErrorCode |
`“UnknownError” | “NoPermissionToAsset” |
contentRepresentationSpecifier fields:
| Field | Type | Description |
|---|---|---|
format |
string |
|
majorVersion |
string |
|
fidelity |
string |
|
skipGenerationIfNotExist |
boolean |
assetMetadatas[] item fields:
| Field | Type | Description |
|---|---|---|
metadataType |
'UncompressedSize' |
|
value |
string |
postAssetsBatch
Section titled “postAssetsBatch”POST /v1/assets/batch
Usage
import { fetchApi } from 'rozod';import { postAssetsBatch } from 'rozod/endpoints/assetdeliveryv1';
const data = await fetchApi(postAssetsBatch, { body: { /* ... */ }});Request Body
Section titled “Request Body”Array of objects:
| Field | Type | Description |
|---|---|---|
assetName |
string |
|
assetType |
string |
|
clientInsert |
boolean |
|
placeId |
number |
|
requestId |
string |
|
scriptInsert |
boolean |
|
serverPlaceId |
number |
|
universeId |
number |
|
accept |
string |
|
encoding |
string |
|
hash |
string |
|
userAssetId |
number |
|
assetId |
number |
|
version |
number |
|
assetVersionId |
number |
|
modulePlaceId |
number |
|
assetFormat |
string |
|
assetResolutionMode |
string |
|
accessContext |
string |
|
usageContext |
string |
|
contentRepresentationPriorityList |
string |
|
doNotFallbackToBaselineRepresentation |
boolean |
|
xcachesplit |
number |
Response
Section titled “Response”Array of objects:
| Field | Type | Description |
|---|---|---|
location |
string |
|
errors |
object[] |
See below |
requestId |
string |
|
isArchived |
boolean |
|
assetTypeId |
number |
|
contentRepresentationSpecifier |
object |
See below |
assetMetadatas |
object[] |
See below |
isRecordable |
boolean |
errors[] item fields:
| Field | Type | Description |
|---|---|---|
Code |
number |
|
Message |
string |
|
CustomErrorCode |
`“UnknownError” | “NoPermissionToAsset” |
contentRepresentationSpecifier fields:
| Field | Type | Description |
|---|---|---|
format |
string |
|
majorVersion |
string |
|
fidelity |
string |
|
skipGenerationIfNotExist |
boolean |
assetMetadatas[] item fields:
| Field | Type | Description |
|---|---|---|
metadataType |
'UncompressedSize' |
|
value |
string |
getMarassethashMarassethashMarchecksumMarchecksum
Section titled “getMarassethashMarassethashMarchecksumMarchecksum”GET /v1/marAssetHash/:marAssetHash/marCheckSum/:marCheckSum
Retrieves an asset by its mar (moderation agnostic) hash and mar (moderation agnostic) checksum.
Usage
import { fetchApi } from 'rozod';import { getMarassethashMarassethashMarchecksumMarchecksum } from 'rozod/endpoints/assetdeliveryv1';
const data = await fetchApi(getMarassethashMarassethashMarchecksumMarchecksum, { marAssetHash: /* string */, marCheckSum: /* string */, AssetType: /* string */, AssetFormat: /* string */, skipSigningScripts: /* boolean? */, clientInsert: /* integer? */, scriptinsert: /* integer? */, modulePlaceId: /* integer? */, serverplaceid: /* integer? */, expectedAssetType: /* string? */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
marAssetHash |
string |
Yes | The mar (moderation agnostic) hash of the asset to retrieve. |
marCheckSum |
string |
Yes | The mar (moderation agnostic) checksum of the asset to retrieve. |
AssetType |
string |
Yes | |
AssetFormat |
string |
Yes | |
skipSigningScripts |
boolean? |
No | |
clientInsert |
integer? |
No | |
scriptinsert |
integer? |
No | |
modulePlaceId |
integer? |
No | |
serverplaceid |
integer? |
No | |
expectedAssetType |
string? |
No |
Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
location |
string |
|
errors |
object[] |
See below |
requestId |
string |
|
isArchived |
boolean |
|
assetTypeId |
number |
|
contentRepresentationSpecifier |
object |
See below |
assetMetadatas |
object[] |
See below |
isRecordable |
boolean |
errors[] item fields:
| Field | Type | Description |
|---|---|---|
Code |
number |
|
Message |
string |
|
CustomErrorCode |
`“UnknownError” | “NoPermissionToAsset” |
contentRepresentationSpecifier fields:
| Field | Type | Description |
|---|---|---|
format |
string |
|
majorVersion |
string |
|
fidelity |
string |
|
skipGenerationIfNotExist |
boolean |
assetMetadatas[] item fields:
| Field | Type | Description |
|---|---|---|
metadataType |
'UncompressedSize' |
|
value |
string |
Errors
Section titled “Errors”| Status | Description |
|---|---|
| 400 | 2: invalid server request 3: Encoding cannot be empty |
| 404 | 5: Asset hash cannot be empty |
getOpencloudAssetidAssetid
Section titled “getOpencloudAssetidAssetid”GET /v1/openCloud/assetId/:assetId
Retrieves an asset by its ID with OpenCloud auth.
Usage
import { fetchApi } from 'rozod';import { getOpencloudAssetidAssetid } from 'rozod/endpoints/assetdeliveryv1';
const data = await fetchApi(getOpencloudAssetidAssetid, { assetId: /* integer */, AssetType: /* string? */, AssetFormat: /* string? */, skipSigningScripts: /* boolean? */, clientInsert: /* integer? */, scriptinsert: /* integer? */, modulePlaceId: /* integer? */, serverplaceid: /* integer? */, expectedAssetType: /* string? */, doNotFallbackToBaselineRepresentation: /* boolean? */, contentRepresentationPriorityList: /* string? */, accessContext: /* string? */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
assetId |
integer |
Yes | The ID of the asset to retrieve. |
AssetType |
string? |
No | The AssetType header value specifying the expected asset type. |
AssetFormat |
string? |
No | The AssetFormat header value specifying the desired asset format. Overridden by robloxAssetFormat if both are provided. |
skipSigningScripts |
boolean? |
No | Whether to skip script signing for the returned asset. Used for script assets that don’t require signing. |
clientInsert |
integer? |
No | Set to 1 to indicate this is a client insert request. |
scriptinsert |
integer? |
No | Set to 1 to indicate this is a script insert request. |
modulePlaceId |
integer? |
No | The place ID of the module making the request. |
serverplaceid |
integer? |
No | The server place ID making the request. |
expectedAssetType |
string? |
No | The expected asset type as a fallback when assetType header is not provided. |
doNotFallbackToBaselineRepresentation |
boolean? |
No | Whether to prevent fallback to baseline representation when specific content representations are not available. |
contentRepresentationPriorityList |
string? |
No | Base64URL-encoded JSON string specifying the priority list of desired content representations (format, version, fidelity). |
accessContext |
string? |
No |
Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
location |
string |
|
errors |
object[] |
See below |
requestId |
string |
|
isArchived |
boolean |
|
assetTypeId |
number |
|
contentRepresentationSpecifier |
object |
See below |
assetMetadatas |
object[] |
See below |
isRecordable |
boolean |
errors[] item fields:
| Field | Type | Description |
|---|---|---|
Code |
number |
|
Message |
string |
|
CustomErrorCode |
`“UnknownError” | “NoPermissionToAsset” |
contentRepresentationSpecifier fields:
| Field | Type | Description |
|---|---|---|
format |
string |
|
majorVersion |
string |
|
fidelity |
string |
|
skipGenerationIfNotExist |
boolean |
assetMetadatas[] item fields:
| Field | Type | Description |
|---|---|---|
metadataType |
'UncompressedSize' |
|
value |
string |
Errors
Section titled “Errors”| Status | Description |
|---|---|
| 401 | 0: Authorization has been denied for this request. |
getOpencloudAssetidAssetidVersionVersionnumber
Section titled “getOpencloudAssetidAssetidVersionVersionnumber”GET /v1/openCloud/assetId/:assetId/version/:versionNumber
Retrieves an asset by its ID and version number with OpenCloud auth.
Usage
import { fetchApi } from 'rozod';import { getOpencloudAssetidAssetidVersionVersionnumber } from 'rozod/endpoints/assetdeliveryv1';
const data = await fetchApi(getOpencloudAssetidAssetidVersionVersionnumber, { assetId: /* integer */, versionNumber: /* integer */, AssetType: /* string? */, AssetFormat: /* string? */, skipSigningScripts: /* boolean? */, clientInsert: /* integer? */, scriptinsert: /* integer? */, modulePlaceId: /* integer? */, serverplaceid: /* integer? */, expectedAssetType: /* string? */, doNotFallbackToBaselineRepresentation: /* boolean? */, contentRepresentationPriorityList: /* string? */, accessContext: /* string? */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
assetId |
integer |
Yes | The ID of the asset to retrieve. |
versionNumber |
integer |
Yes | The version number of the asset to retrieve. |
AssetType |
string? |
No | |
AssetFormat |
string? |
No | |
skipSigningScripts |
boolean? |
No | |
clientInsert |
integer? |
No | |
scriptinsert |
integer? |
No | |
modulePlaceId |
integer? |
No | |
serverplaceid |
integer? |
No | |
expectedAssetType |
string? |
No | |
doNotFallbackToBaselineRepresentation |
boolean? |
No | |
contentRepresentationPriorityList |
string? |
No | |
accessContext |
string? |
No |
Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
location |
string |
|
errors |
object[] |
See below |
requestId |
string |
|
isArchived |
boolean |
|
assetTypeId |
number |
|
contentRepresentationSpecifier |
object |
See below |
assetMetadatas |
object[] |
See below |
isRecordable |
boolean |
errors[] item fields:
| Field | Type | Description |
|---|---|---|
Code |
number |
|
Message |
string |
|
CustomErrorCode |
`“UnknownError” | “NoPermissionToAsset” |
contentRepresentationSpecifier fields:
| Field | Type | Description |
|---|---|---|
format |
string |
|
majorVersion |
string |
|
fidelity |
string |
|
skipGenerationIfNotExist |
boolean |
assetMetadatas[] item fields:
| Field | Type | Description |
|---|---|---|
metadataType |
'UncompressedSize' |
|
value |
string |
Errors
Section titled “Errors”| Status | Description |
|---|---|
| 401 | 0: Authorization has been denied for this request. |