Roblox Engine API Assets API

Asset management and operations

OpenAPI Specification

roblox-engine-api-assets-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Roblox Open Cloud Assets API
  description: The Roblox Open Cloud API provides external programmatic access to Roblox platform resources. It enables server-side operations on experiences, places, data stores, memory stores, users, groups, assets, messaging, badges, game passes, and subscriptions. Authentication uses API keys scoped to specific resources. The API is organized into Open Cloud v2, v1, and Legacy tiers with consistent RESTful patterns.
  version: v2
  contact:
    name: Roblox Developer Relations
    url: https://devforum.roblox.com
  termsOfService: https://en.help.roblox.com/hc/en-us/articles/115004647846
  license:
    name: Proprietary
servers:
- url: https://apis.roblox.com
  description: Roblox Open Cloud API
tags:
- name: Assets
  description: Asset management and operations
paths:
  /assets/v1/assets:
    post:
      operationId: createAsset
      summary: Create Asset
      description: Upload and create a new asset on Roblox.
      tags:
      - Assets
      security:
      - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateAssetRequest'
      responses:
        '200':
          description: Asset creation operation initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /assets/v1/assets/{assetId}:
    get:
      operationId: getAsset
      summary: Get Asset
      description: Retrieve details for a specific asset by ID.
      tags:
      - Assets
      security:
      - ApiKeyAuth: []
      parameters:
      - name: assetId
        in: path
        required: true
        schema:
          type: string
      - name: readMask
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Asset details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Asset'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateAsset
      summary: Update Asset
      description: Update metadata for an existing asset.
      tags:
      - Assets
      security:
      - ApiKeyAuth: []
      parameters:
      - name: assetId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateAssetRequest'
      responses:
        '200':
          description: Asset update operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Operation:
      type: object
      properties:
        path:
          type: string
        done:
          type: boolean
        response:
          type: object
    UpdateAssetRequest:
      type: object
      properties:
        request:
          type: string
          description: JSON-encoded update metadata
        fileContent:
          type: string
          format: binary
    Asset:
      type: object
      properties:
        assetId:
          type: string
        assetType:
          type: string
        displayName:
          type: string
        description:
          type: string
        creationContext:
          type: object
        moderationResult:
          type: object
        state:
          type: string
    CreateAssetRequest:
      type: object
      required:
      - request
      - fileContent
      properties:
        request:
          type: string
          description: JSON-encoded asset metadata
        fileContent:
          type: string
          format: binary
    Error:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        details:
          type: array
          items:
            type: object
  responses:
    Unauthorized:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Roblox Open Cloud API key scoped to specific resources