1 min read

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

ExperimentApiError — openapi

Application-layer error emitted on a failed experiment operation.

Properties

NameTypeRequiredDescription
errorTypefalseBroad category of the failure. EXPERIMENT_API_ERROR_TYPE_INVALID_VARIANT_CONFIGURATION EXPERIMENT_API_ERROR_TYPE_INVALID_VARIANT_LABEL EXPERIMENT_API_ERROR_TYPE_MUST_HAVE_EXACTLY_ONE_BASELINE_VARIANT EXPERIMENT_API_ERROR_TYPE_MATCHMAKING_OVERLAPPING_RUNTIME EXPERIMENT_API_ERROR_TYPE_MATCHMAKING_INVALID_SCORING_CONFIGURATIONS EXPERIMENT_API_ERROR_TYPE_MATCHMAKING_UNEXPECTED_PRODUCT_TYPE EXPERIMENT_API_ERROR_TYPE_MATCHMAKING_EMPTY_CONFIGURATION EXPERIMENT_API_ERROR_TYPE_MATCHMAKING_EMPTY_VARIANT_METADATA EXPERIMENT_API_ERROR_TYPE_MATCHMAKING_VARIANT_WEIGHT_MUST_BE_POSITIVE EXPERIMENT_API_ERROR_TYPE_MATCHMAKING_VARIANT_WEIGHTS_UNBALANCED EXPERIMENT_API_ERROR_TYPE_MATCHMAKING_PLACE_CONFIG_REQUIRES_SCORING_ID_OR_DEFAULT EXPERIMENT_API_ERROR_TYPE_CONFIGS_MISSING_VARIANT EXPERIMENT_API_ERROR_TYPE_CONFIGS_VARIANT_MISSING_KEY EXPERIMENT_API_ERROR_TYPE_CONFIGS_VARIANT_MISSING_VALUE EXPERIMENT_API_ERROR_TYPE_CONFIGS_KEY_ALREADY_IN_USE EXPERIMENT_API_ERROR_TYPE_SYSTEM_ERROR EXPERIMENT_API_ERROR_TYPE_EXPERIMENT_RESULTS_NOT_FOUND EXPERIMENT_API_ERROR_TYPE_INVALID_TARGETING_CRITERIA EXPERIMENT_API_ERROR_TYPE_TARGETING_NOT_ALLOWED EXPERIMENT_API_ERROR_TYPE_INVALID_DURATION EXPERIMENT_API_ERROR_TYPE_CONFIGS_VARIANT_CONFIG_NOT_FOUND EXPERIMENT_API_ERROR_TYPE_INVALID_EXPERIMENT_NAME EXPERIMENT_API_ERROR_TYPE_CONDITIONAL_CONFIG_REQUIRES_NULL_BASELINE EXPERIMENT_API_ERROR_TYPE_MATCHMAKING_CONTROL_VARIANT_MUST_MATCH_CURRENT_CONFIGURATION EXPERIMENT_API_ERROR_TYPE_MATCHMAKING_VARIANTS_MUST_COVER_SAME_PLACES EXPERIMENT_API_ERROR_TYPE_MATCHMAKING_VARIANT_HAS_DUPLICATE_PLACES EXPERIMENT_API_ERROR_TYPE_CONFIGS_KEY_HAS_RESERVED_PREFIX
errorCodestringfalseStable machine-readable error code.
errorMessagestringfalseHuman-readable description of the failure.
errorContextobjectfalseOptional structured context about the failure (field paths, offending values, etc.).

Complete Schema

{
  "type": "object",
  "properties": {
    "errorType": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ExperimentApiErrorType"
        }
      ],
      "description": "Broad category of the failure.\n\nEXPERIMENT_API_ERROR_TYPE_INVALID_VARIANT_CONFIGURATION\n\nEXPERIMENT_API_ERROR_TYPE_INVALID_VARIANT_LABEL\n\nEXPERIMENT_API_ERROR_TYPE_MUST_HAVE_EXACTLY_ONE_BASELINE_VARIANT\n\nEXPERIMENT_API_ERROR_TYPE_MATCHMAKING_OVERLAPPING_RUNTIME\n\nEXPERIMENT_API_ERROR_TYPE_MATCHMAKING_INVALID_SCORING_CONFIGURATIONS\n\nEXPERIMENT_API_ERROR_TYPE_MATCHMAKING_UNEXPECTED_PRODUCT_TYPE\n\nEXPERIMENT_API_ERROR_TYPE_MATCHMAKING_EMPTY_CONFIGURATION\n\nEXPERIMENT_API_ERROR_TYPE_MATCHMAKING_EMPTY_VARIANT_METADATA\n\nEXPERIMENT_API_ERROR_TYPE_MATCHMAKING_VARIANT_WEIGHT_MUST_BE_POSITIVE\n\nEXPERIMENT_API_ERROR_TYPE_MATCHMAKING_VARIANT_WEIGHTS_UNBALANCED\n\nEXPERIMENT_API_ERROR_TYPE_MATCHMAKING_PLACE_CONFIG_REQUIRES_SCORING_ID_OR_DEFAULT\n\nEXPERIMENT_API_ERROR_TYPE_CONFIGS_MISSING_VARIANT\n\nEXPERIMENT_API_ERROR_TYPE_CONFIGS_VARIANT_MISSING_KEY\n\nEXPERIMENT_API_ERROR_TYPE_CONFIGS_VARIANT_MISSING_VALUE\n\nEXPERIMENT_API_ERROR_TYPE_CONFIGS_KEY_ALREADY_IN_USE\n\nEXPERIMENT_API_ERROR_TYPE_SYSTEM_ERROR\n\nEXPERIMENT_API_ERROR_TYPE_EXPERIMENT_RESULTS_NOT_FOUND\n\nEXPERIMENT_API_ERROR_TYPE_INVALID_TARGETING_CRITERIA\n\nEXPERIMENT_API_ERROR_TYPE_TARGETING_NOT_ALLOWED\n\nEXPERIMENT_API_ERROR_TYPE_INVALID_DURATION\n\nEXPERIMENT_API_ERROR_TYPE_CONFIGS_VARIANT_CONFIG_NOT_FOUND\n\nEXPERIMENT_API_ERROR_TYPE_INVALID_EXPERIMENT_NAME\n\nEXPERIMENT_API_ERROR_TYPE_CONDITIONAL_CONFIG_REQUIRES_NULL_BASELINE\n\nEXPERIMENT_API_ERROR_TYPE_MATCHMAKING_CONTROL_VARIANT_MUST_MATCH_CURRENT_CONFIGURATION\n\nEXPERIMENT_API_ERROR_TYPE_MATCHMAKING_VARIANTS_MUST_COVER_SAME_PLACES\n\nEXPERIMENT_API_ERROR_TYPE_MATCHMAKING_VARIANT_HAS_DUPLICATE_PLACES\n\nEXPERIMENT_API_ERROR_TYPE_CONFIGS_KEY_HAS_RESERVED_PREFIX",
      "x-enum-varnames": [
        "InvalidVariantConfiguration",
        "InvalidVariantLabel",
        "MustHaveExactlyOneBaselineVariant",
        "MatchmakingOverlappingRuntime",
        "MatchmakingInvalidScoringConfigurations",
        "MatchmakingUnexpectedProductType",
        "MatchmakingEmptyConfiguration",
        "MatchmakingEmptyVariantMetadata",
        "MatchmakingVariantWeightMustBePositive",
        "MatchmakingVariantWeightsUnbalanced",
        "MatchmakingPlaceConfigRequiresScoringIdOrDefault",
        "ConfigsMissingVariant",
        "ConfigsVariantMissingKey",
        "ConfigsVariantMissingValue",
        "ConfigsKeyAlreadyInUse",
        "SystemError",
        "ExperimentResultsNotFound",
        "InvalidTargetingCriteria",
        "TargetingNotAllowed",
        "InvalidDuration",
        "ConfigsVariantConfigNotFound",
        "InvalidExperimentName",
        "ConditionalConfigRequiresNullBaseline",
        "MatchmakingControlVariantMustMatchCurrentConfiguration",
        "MatchmakingVariantsMustCoverSamePlaces",
        "MatchmakingVariantHasDuplicatePlaces",
        "ConfigsKeyHasReservedPrefix"
      ]
    },
    "errorCode": {
      "type": "string",
      "description": "Stable machine-readable error code.",
      "nullable": true
    },
    "errorMessage": {
      "type": "string",
      "description": "Human-readable description of the failure.",
      "nullable": true
    },
    "errorContext": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "nullable": true
      },
      "description": "Optional structured context about the failure (field paths, offending values, etc.).",
      "nullable": true
    }
  },
  "additionalProperties": false,
  "description": "Application-layer error emitted on a failed experiment operation."
}