2 min read

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

POST /v1/assets/{assetId}:restore — assets/v1

Restores an archived asset.

Restores an archived asset.

Endpoint

Method: POST

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

Servers:

Parameters

NameLocationRequiredDescription
assetIdpathtrueThe unique identifier of the asset.
[
  {
    "name": "assetId",
    "in": "path",
    "description": "The unique identifier of the asset.",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

StatusDescription
200Asset restored successfully.
400Bad request - invalid request.
403Forbidden - API key without Write scope or user doesn't have access.
404Asset not found.
{
  "200": {
    "description": "Asset restored successfully.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Asset"
        }
      }
    }
  },
  "400": {
    "description": "Bad request - invalid request."
  },
  "403": {
    "description": "Forbidden - API key without Write scope or user doesn't have access."
  },
  "404": {
    "description": "Asset not found."
  }
}

Authentication

{
  "security": [
    {
      "roblox-api-key": [
        "asset:read",
        "asset:write"
      ]
    },
    {
      "roblox-oauth2": [
        "asset:read",
        "asset:write"
      ]
    }
  ],
  "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.",
      "in": "header",
      "name": "x-api-key"
    },
    "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": {
            "asset:read": "This allows viewing information about your assets.",
            "asset:write": "This allows uploading and updating assets to Roblox."
          }
        }
      }
    }
  }
}

Complete Operation Definition

{
  "tags": [
    "Assets"
  ],
  "x-roblox-cloud-api-operation": true,
  "x-roblox-cloud-api-operation-name": "Restore Asset",
  "x-roblox-stability": "BETA",
  "summary": "Restores an archived asset.",
  "description": "Restores an archived asset.",
  "operationId": "Assets_RestoreAsset",
  "parameters": [
    {
      "name": "assetId",
      "in": "path",
      "description": "The unique identifier of the asset.",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Asset restored successfully.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Asset"
          }
        }
      }
    },
    "400": {
      "description": "Bad request - invalid request."
    },
    "403": {
      "description": "Forbidden - API key without Write scope or user doesn't have access."
    },
    "404": {
      "description": "Asset not found."
    }
  },
  "security": [
    {
      "roblox-api-key": [
        "asset:read",
        "asset:write"
      ]
    },
    {
      "roblox-oauth2": [
        "asset:read",
        "asset:write"
      ]
    }
  ],
  "x-roblox-scopes": [
    {
      "name": "asset:read"
    },
    {
      "name": "asset:write"
    }
  ],
  "x-roblox-cloud-api-operation-code-samples": [
    {
      "language": "Restore Asset",
      "script": "curl --location 'https://apis.roblox.com/assets/v1/assets/{assetid}:restore' \\\n--header 'x-api-key: {apiKey}' \\\n--header 'Content-Type: application/json'"
    }
  ]
}