4 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

GET /assets/v1/assets/{assetId} — openapi

Retrieve specific asset metadata. Include the readMask parameter for additional asset metadata.

Retrieve specific asset metadata.

Endpoint

Method: GET

Path: /assets/v1/assets/{assetId}

Servers:

Parameters

NameLocationRequiredDescription
assetIdpathtrueThe unique identifier of the asset.
readMaskqueryfalseAsset metadata fields to retrieve, including the description, display name, icon, social links, and previews. Examples: description%2CdisplayName, previews%2CtwitchSocialLink.
[
  {
    "name": "assetId",
    "in": "path",
    "description": "The unique identifier of the asset.",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "name": "readMask",
    "in": "query",
    "description": "Asset metadata fields to retrieve, including the description, display name, icon, social links, and previews. Examples: `description%2CdisplayName`, `previews%2CtwitchSocialLink`.",
    "schema": {
      "type": "string"
    }
  }
]

Responses

StatusDescription
200Asset resource retrieved successfully.
400Malformed request, likely due to an invalid read mask.
401The API key is not valid for this operation / You don't have the authorization.
403Doesn't have the required permission.
404Asset doesn't exist.
500Server internal error / Unknown error.
{
  "200": {
    "description": "Asset resource retrieved successfully.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Asset"
        }
      }
    }
  },
  "400": {
    "description": "Malformed request, likely due to an invalid read mask."
  },
  "401": {
    "description": "The API key is not valid for this operation / You don't have the authorization."
  },
  "403": {
    "description": "Doesn't have the required permission."
  },
  "404": {
    "description": "Asset doesn't exist."
  },
  "500": {
    "description": "Server internal error / Unknown error."
  }
}

Authentication

{
  "security": [
    {
      "roblox-api-key": []
    },
    {
      "roblox-oauth2": []
    }
  ],
  "securitySchemes": {
    "roblox-api-key": {
      "type": "apiKey",
      "description": "A configurable key that allows granular access to Roblox resources. See https://create.roblox.com/docs/cloud/auth/api-keys for more information.",
      "name": "x-api-key",
      "in": "header"
    },
    "roblox-legacy-cookie": {
      "type": "apiKey",
      "description": "A browser cookie that represents the identity of a Roblox user. DO NOT SHARE THIS. Sharing this will allow someone to log in as you and to steal your Robux and items. We do not recommend using cookies to call endpoints. When possible, use API keys with the x-api-key header or OAuth 2.0 instead for authentication.",
      "in": "cookie",
      "name": ".ROBLOSECURITY"
    },
    "roblox-oauth2": {
      "type": "oauth2",
      "description": "Build or authorize apps to access Roblox resources. See https://create.roblox.com/docs/cloud/auth/oauth2-overview for more information.",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://apis.roblox.com/oauth/v1/authorize",
          "tokenUrl": "https://apis.roblox.com/oauth/v1/token",
          "refreshUrl": "https://apis.roblox.com/oauth/v1/token",
          "scopes": {}
        }
      }
    }
  }
}

Complete Operation Definition

{
  "tags": [
    "Assets"
  ],
  "x-roblox-cloud-api-operation": true,
  "x-roblox-cloud-api-operation-name": "Get Asset",
  "x-roblox-stability": "BETA",
  "summary": "Retrieve specific asset metadata. Include the `readMask` parameter for additional asset metadata.",
  "description": "Retrieve specific asset metadata.",
  "operationId": "Assets_GetAsset",
  "parameters": [
    {
      "name": "assetId",
      "in": "path",
      "description": "The unique identifier of the asset.",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "readMask",
      "in": "query",
      "description": "Asset metadata fields to retrieve, including the description, display name, icon, social links, and previews. Examples: `description%2CdisplayName`, `previews%2CtwitchSocialLink`.",
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Asset resource retrieved successfully.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Asset"
          }
        }
      }
    },
    "400": {
      "description": "Malformed request, likely due to an invalid read mask."
    },
    "401": {
      "description": "The API key is not valid for this operation / You don't have the authorization."
    },
    "403": {
      "description": "Doesn't have the required permission."
    },
    "404": {
      "description": "Asset doesn't exist."
    },
    "500": {
      "description": "Server internal error / Unknown error."
    }
  },
  "security": [
    {
      "roblox-api-key": []
    },
    {
      "roblox-oauth2": []
    }
  ],
  "x-roblox-scopes": [
    {
      "name": "asset:read"
    }
  ],
  "x-roblox-cloud-api-operation-code-samples": [
    {
      "language": "Get Asset without readMask",
      "script": "curl --location --request GET 'https://apis.roblox.com/assets/v1/assets/{assetId}' \\\n--header 'x-api-key: {apiKey}'"
    },
    {
      "language": "Get Asset with readMask",
      "script": "curl --location --request GET 'https://apis.roblox.com/assets/v1/assets/{assetId}?readMask={read_mask}' \\\n--header 'x-api-key: {apiKey}'"
    }
  ],
  "x-roblox-rate-limits": {
    "perApiKeyOwner": {
      "period": "MINUTE",
      "maxInPeriod": 120
    },
    "perOauth2Authorization": {
      "period": "MINUTE",
      "maxInPeriod": 120
    }
  },
  "x-roblox-engine-usability": {
    "apiKeyWithHttpService": true
  },
  "externalDocs": {
    "url": "https://create.roblox.com/docs/cloud/reference/features/assets#Assets_GetAsset"
  }
}