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.

ExperimentOperation — openapi

Async operation result for an experiment Create / Update / Discard call. When Done is true, at most one of Error or Experiment is set; when false, neither is. A successful delete is the one case where a done operation carries neither: the experiment no longer exists, so no Experiment body is returned.

Properties

NameTypeRequiredDescription
operationIdstringfalseStable operation ID.
statusfalseCurrent operational status of the operation. OPERATIONAL_STATUS_READY OPERATIONAL_STATUS_CREATING OPERATIONAL_STATUS_UPDATING OPERATIONAL_STATUS_STARTING OPERATIONAL_STATUS_STOPPING OPERATIONAL_STATUS_SCHEDULING OPERATIONAL_STATUS_DELETING OPERATIONAL_STATUS_RAMPING_UP OPERATIONAL_STATUS_SYNCING OPERATIONAL_STATUS_ROLLING_OUT
createdTimestringfalseUTC time the operation was created.
donebooleanfalseTrue once the operation terminates (success or failure). When false, neither Error nor Experiment is populated.
errorfalseError outcome. Populated iff Done is true and the operation failed.
experimentfalseSuccessful outcome. Populated iff Done is true and the operation succeeded and returned an experiment resource.

Complete Schema

{
  "type": "object",
  "properties": {
    "operationId": {
      "type": "string",
      "description": "Stable operation ID.",
      "nullable": true
    },
    "status": {
      "allOf": [
        {
          "$ref": "#/components/schemas/OperationalStatus"
        }
      ],
      "description": "Current operational status of the operation.\n\nOPERATIONAL_STATUS_READY\n\nOPERATIONAL_STATUS_CREATING\n\nOPERATIONAL_STATUS_UPDATING\n\nOPERATIONAL_STATUS_STARTING\n\nOPERATIONAL_STATUS_STOPPING\n\nOPERATIONAL_STATUS_SCHEDULING\n\nOPERATIONAL_STATUS_DELETING\n\nOPERATIONAL_STATUS_RAMPING_UP\n\nOPERATIONAL_STATUS_SYNCING\n\nOPERATIONAL_STATUS_ROLLING_OUT",
      "x-enum-varnames": [
        "Ready",
        "Creating",
        "Updating",
        "Starting",
        "Stopping",
        "Scheduling",
        "Deleting",
        "RampingUp",
        "Syncing",
        "RollingOut"
      ]
    },
    "createdTime": {
      "type": "string",
      "description": "UTC time the operation was created.",
      "format": "date-time"
    },
    "done": {
      "type": "boolean",
      "description": "True once the operation terminates (success or failure). When false, neither\r\nError nor Experiment is populated."
    },
    "error": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ExperimentApiError"
        }
      ],
      "description": "Error outcome. Populated iff Done is true and the operation failed.",
      "nullable": true
    },
    "experiment": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ProductExperiment"
        }
      ],
      "description": "Successful outcome. Populated iff Done is true and the operation\r\nsucceeded and returned an experiment resource.",
      "nullable": true
    }
  },
  "additionalProperties": false,
  "description": "Async operation result for an experiment Create / Update / Discard call. When\r\nDone is true, at most one of Error or Experiment is set; when false, neither is. A successful delete is the\r\none case where a done operation carries neither: the experiment no longer exists, so\r\nno Experiment body is returned."
}