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.

CreateExperimentData — openapi

Request body for POST /v1/experimentation/universes/{universeId}/experiments. Payload describing a new experiment.

Properties

NameTypeRequiredDescription
namestringfalseExperiment display name.
descriptionstringfalseExperiment description.
experimentConfigurationfalseExperiment configuration (variants + product-type-specific data).
exposurePercentintegerfalseExposure percent in range 0-100. Percent of eligible users seeing the experiment.
targetingCriteriafalseTargeting criteria scoping which users are eligible for the experiment.
durationSecondsintegerfalseExperiment duration in whole seconds.
universeGoalMetricfalseGoal metric for the experiment. UNIVERSE_EXPERIMENT_METRIC_AVERAGE_SESSION_TIME UNIVERSE_EXPERIMENT_METRIC_PLAYTIME_PER_USER UNIVERSE_EXPERIMENT_METRIC_DAY_1_RETENTION UNIVERSE_EXPERIMENT_METRIC_DAY_7_RETENTION UNIVERSE_EXPERIMENT_METRIC_PAYER_CONVERSION_RATE UNIVERSE_EXPERIMENT_METRIC_AVERAGE_REVENUE_PER_USER UNIVERSE_EXPERIMENT_METRIC_AVERAGE_REVENUE_PER_PAYING_USER

Complete Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Experiment display name.",
      "nullable": true
    },
    "description": {
      "type": "string",
      "description": "Experiment description.",
      "nullable": true
    },
    "experimentConfiguration": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ExperimentConfiguration"
        }
      ],
      "description": "Experiment configuration (variants + product-type-specific data).",
      "nullable": true
    },
    "exposurePercent": {
      "type": "integer",
      "description": "Exposure percent in range 0-100. Percent of eligible users seeing the experiment.",
      "format": "int32"
    },
    "targetingCriteria": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TargetingCriteria"
        }
      ],
      "description": "Targeting criteria scoping which users are eligible for the experiment.",
      "nullable": true
    },
    "durationSeconds": {
      "type": "integer",
      "description": "Experiment duration in whole seconds.",
      "format": "int64"
    },
    "universeGoalMetric": {
      "allOf": [
        {
          "$ref": "#/components/schemas/UniverseExperimentMetric"
        }
      ],
      "description": "Goal metric for the experiment.\n\nUNIVERSE_EXPERIMENT_METRIC_AVERAGE_SESSION_TIME\n\nUNIVERSE_EXPERIMENT_METRIC_PLAYTIME_PER_USER\n\nUNIVERSE_EXPERIMENT_METRIC_DAY_1_RETENTION\n\nUNIVERSE_EXPERIMENT_METRIC_DAY_7_RETENTION\n\nUNIVERSE_EXPERIMENT_METRIC_PAYER_CONVERSION_RATE\n\nUNIVERSE_EXPERIMENT_METRIC_AVERAGE_REVENUE_PER_USER\n\nUNIVERSE_EXPERIMENT_METRIC_AVERAGE_REVENUE_PER_PAYING_USER",
      "x-enum-varnames": [
        "AverageSessionTime",
        "PlaytimePerUser",
        "Day1Retention",
        "Day7Retention",
        "PayerConversionRate",
        "AverageRevenuePerUser",
        "AverageRevenuePerPayingUser"
      ]
    }
  },
  "additionalProperties": false,
  "description": "Request body for `POST /v1/experimentation/universes/{universeId}/experiments`.\r\nPayload describing a new experiment."
}