3 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 /assets/v1/assets/{assetId}/versions:rollback — openapi

Rollback an asset to a previous version.

Rollback an asset to a specific previous version.

Provide the asset version path in the form data.

Endpoint

Method: POST

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

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"
    }
  }
]

Request Body

{
  "content": {
    "multipart/form-data": {
      "schema": {
        "type": "object",
        "properties": {
          "assetVersion": {
            "type": "string",
            "description": "The asset version path in the format of `assets/{assetId}/versions/{versionNumber}`."
          }
        },
        "required": [
          "assetVersion"
        ]
      }
    }
  }
}

Responses

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

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": "Rollback Asset Version",
  "x-roblox-stability": "BETA",
  "summary": "Rollback an asset to a previous version.",
  "description": "Rollback an asset to a specific previous version.\n\n Provide the asset version path in the form data.",
  "operationId": "Assets_RollbackAssetVersion",
  "parameters": [
    {
      "name": "assetId",
      "in": "path",
      "description": "The unique identifier of the asset.",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "multipart/form-data": {
        "schema": {
          "type": "object",
          "properties": {
            "assetVersion": {
              "type": "string",
              "description": "The asset version path in the format of `assets/{assetId}/versions/{versionNumber}`."
            }
          },
          "required": [
            "assetVersion"
          ]
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Asset rolled back successfully.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AssetVersion"
          }
        }
      }
    },
    "400": {
      "description": "Bad request - invalid request body."
    },
    "403": {
      "description": "Forbidden - API key without Write scope or user doesn't have access."
    },
    "404": {
      "description": "Asset or Asset Version not found."
    }
  },
  "security": [
    {
      "roblox-api-key": []
    },
    {
      "roblox-oauth2": []
    }
  ],
  "x-roblox-scopes": [
    {
      "name": "asset:read"
    },
    {
      "name": "asset:write"
    }
  ],
  "x-roblox-cloud-api-operation-code-samples": [
    {
      "language": "Rollback Asset Versions",
      "script": "curl --location 'https://apis.roblox.com/assets/v1/assets/{assetid}/versions:rollback' \\\n--header 'x-api-key: {apiKey}' \\\n--header 'Content-Type: application/json' \\\n--data '{\\\"assetVersion\\\":\\\"assets/{assetId}/versions/{versionNumber}\\\"}'"
    }
  ],
  "x-roblox-rate-limits": {
    "perApiKeyOwner": {
      "period": "MINUTE",
      "maxInPeriod": 100
    },
    "perOauth2Authorization": {
      "period": "MINUTE",
      "maxInPeriod": 100
    }
  },
  "x-roblox-engine-usability": {
    "apiKeyWithHttpService": false
  },
  "externalDocs": {
    "url": "https://create.roblox.com/docs/cloud/reference/features/assets#Assets_RollbackAssetVersion"
  }
}