updateExperimentRun method
Updates a running experiment. Use this operation to increase audience exposure, modify treatment assignment overrides, or update the description of an active experiment run. Audience exposure can only be increased, not decreased.
May throw BadRequestException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
Parameter applicationIdentifier :
The application ID or name.
Parameter experimentDefinitionIdentifier :
The experiment definition ID or name.
Parameter run :
The run number to update.
Parameter deploymentParameters :
The updated deployment parameters for the experiment run.
Parameter description :
An updated description for the experiment run.
Parameter exposurePercentage :
The new exposure percentage. This value can only be increased from the
current setting.
Parameter treatmentOverrides :
The updated treatment assignment overrides that assign specific entity IDs
to treatments, bypassing random assignment.
Implementation
Future<ExperimentRun> updateExperimentRun({
required String applicationIdentifier,
required String experimentDefinitionIdentifier,
required int run,
DeploymentParameters? deploymentParameters,
String? description,
double? exposurePercentage,
TreatmentOverrides? treatmentOverrides,
}) async {
_s.validateNumRange(
'run',
run,
1,
1152921504606846976,
isRequired: true,
);
_s.validateNumRange(
'exposurePercentage',
exposurePercentage,
0.0,
100.0,
);
final $payload = <String, dynamic>{
if (deploymentParameters != null)
'DeploymentParameters': deploymentParameters,
if (description != null) 'Description': description,
if (exposurePercentage != null)
'ExposurePercentage': _s.encodeJsonDouble(exposurePercentage),
if (treatmentOverrides != null) 'TreatmentOverrides': treatmentOverrides,
};
final response = await _protocol.send(
payload: $payload,
method: 'PATCH',
requestUri:
'/applications/${Uri.encodeComponent(applicationIdentifier)}/experimentdefinitions/${Uri.encodeComponent(experimentDefinitionIdentifier)}/experimentruns/${Uri.encodeComponent(run.toString())}/update',
exceptionFnMap: _exceptionFns,
);
return ExperimentRun.fromJson(response);
}