The Amazon CloudWatch Evidently API contains several data types that various actions use. This section describes each data type in detail.
NoteThe order of each element in a data type structure is not guaranteed. Applications should not assume a particular order.
The following data types are supported:
• CloudWatchLogsDestination (p. 108)
• CloudWatchLogsDestinationConfig (p. 109)
• EvaluationRequest (p. 110)
• EvaluationResult (p. 111)
• EvaluationRule (p. 113)
• Event (p. 114)
• Experiment (p. 115)
• ExperimentExecution (p. 119)
• ExperimentReport (p. 120)
• ExperimentResultsData (p. 121)
• ExperimentSchedule (p. 123)
• Feature (p. 124)
• FeatureSummary (p. 127)
• Launch (p. 129)
• LaunchExecution (p. 132)
• LaunchGroup (p. 133)
• LaunchGroupConfig (p. 134)
• MetricDefinition (p. 136)
• MetricDefinitionConfig (p. 138)
• MetricGoal (p. 140)
• MetricGoalConfig (p. 141)
• MetricMonitor (p. 142)
• MetricMonitorConfig (p. 143)
• OnlineAbConfig (p. 144)
• OnlineAbDefinition (p. 145)
• Project (p. 146)
• ProjectDataDelivery (p. 149)
• ProjectDataDeliveryConfig (p. 150)
• ProjectSummary (p. 151)
• PutProjectEventsResultEntry (p. 154)
• S3Destination (p. 155)
• S3DestinationConfig (p. 156)
• ScheduledSplit (p. 157)
• ScheduledSplitConfig (p. 158)
• ScheduledSplitsLaunchConfig (p. 159)
• ScheduledSplitsLaunchDefinition (p. 160)
• Treatment (p. 161)
• TreatmentConfig (p. 162)
• ValidationExceptionField (p. 164)
• VariableValue (p. 165)
• Variation (p. 166)
• VariationConfig (p. 167)
CloudWatchLogsDestination
CloudWatchLogsDestination
A structure containing the CloudWatch Logs log group where the project stores evaluation events.
Contents
logGroup
The name of the log group where the project stores evaluation events.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 512.
Pattern: ^[-a-zA-Z0-9._/]+$
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
CloudWatchLogsDestinationConfig
CloudWatchLogsDestinationConfig
A structure containing the CloudWatch Logs log group where the project stores evaluation events.
Contents
logGroup
The name of the log group where the project stores evaluation events.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 512.
Pattern: ^[-a-zA-Z0-9._/]+$
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
EvaluationRequest
EvaluationRequest
This structure assigns a feature variation to one user session.
Contents
entityId
An internal ID that represents a unique user session of the application. This entityID is checked against any override rules assigned for this feature.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 512.
Pattern: .*
Required: Yes evaluationContext
A JSON block of attributes that you can optionally pass in. This JSON block is included in the evaluation events sent to Evidently from the user session.
Type: String Required: No feature
The name of the feature being evaluated.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 127.
Pattern: ^[-a-zA-Z0-9._]*$
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
EvaluationResult
EvaluationResult
This structure displays the results of one feature evaluation assignment to one user session.
Contents
details
If this user was assigned to a launch or experiment, this field lists the launch or experiment name.
Type: String Required: No entityId
An internal ID that represents a unique user session of the application.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 512.
Pattern: .*
Required: Yes feature
The name of the feature being evaluated.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 127.
Pattern: ^[-a-zA-Z0-9._]*$
Required: Yes project
The name or ARN of the project that contains the feature being evaluated.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern: arn:[^:]*:[^:]*:[^:]*:[^:]*:.*
Required: No reason
Specifies the reason that the user session was assigned this variation. Possible values include DEFAULT, meaning the user was served the default variation; LAUNCH_RULE_MATCH, if the user session was enrolled in a launch; or EXPERIMENT_RULE_MATCH, if the user session was enrolled in an experiment.
Type: String Required: No value
The value assigned to this variation to differentiate it from the other variations of this feature.
See Also
Type: VariableValue (p. 165) object Required: No
variation
The name of the variation that was served to the user session.
Type: String Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
EvaluationRule
EvaluationRule
A structure that contains the information about an evaluation rule for this feature, if it is used in a launch or experiment.
Contents
name
The name of the experiment or launch.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1024.
Required: No type
This value is aws.evidently.splits if this is an evaluation rule for a launch, and it is aws.evidently.onlineab if this is an evaluation rule for an experiment.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1024.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
Event
Event
A structure that contains the information about one evaluation event or custom event sent to Evidently.
This is a JSON payload. If this event specifies a pre-defined event type, the payload must follow the defined event schema.
Contents
data
The event data.
Type: String Required: Yes timestamp
The timestamp of the event.
Type: Timestamp Required: Yes type
aws.evidently.evaluation specifies an evaluation event, which determines which feature variation that a user sees. aws.evidently.custom specifies a custom event, which generates metrics from user actions such as clicks and checkouts.
Type: String
Valid Values: aws.evidently.evaluation | aws.evidently.custom Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
Experiment
Experiment
A structure containing the configuration details of an experiment.
Contents
arn
The ARN of the experiment.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern: arn:[^:]*:[^:]*:[^:]*:[^:]*:project/[-a-zA-Z0-9._]*/experiment/[-a-zA-Z0-9._]*
Required: Yes createdTime
The date and time that the experiment is first created.
Type: Timestamp Required: Yes description
A description of the experiment.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 160.
Pattern: .*
Required: No execution
A structure that contains the date and time that the experiment started and ended.
Type: ExperimentExecution (p. 119) object Required: No
lastUpdatedTime
The date and time that the experiment was most recently updated.
Type: Timestamp Required: Yes metricGoals
An array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal.
Type: Array of MetricGoal (p. 140) objects
Array Members: Minimum number of 1 item. Maximum number of 3 items.
Contents
Required: No name
The name of the experiment.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 127.
Pattern: ^[-a-zA-Z0-9._]*$
Required: Yes onlineAbDefinition
A structure that contains the configuration of which variation to use as the "control" version. The
"control" version is used for comparison with other variations. This structure also specifies how much experiment traffic is allocated to each variation.
Type: OnlineAbDefinition (p. 145) object Required: No
project
The name or ARN of the project that contains this experiment.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern: arn:[^:]*:[^:]*:[^:]*:[^:]*:project/[-a-zA-Z0-9._]*
Required: No randomizationSalt
This value is used when Evidently assigns a particular user session to the experiment. It helps create a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 127.
Pattern: .*
Required: No samplingRate
In thousandths of a percent, the amount of the available audience that is allocated to this
experiment. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature.
This is represented in thousandths of a percent, so a value of 10,000 is 10% of the available audience.
Type: Long
Valid Range: Minimum value of 0. Maximum value of 100000.
Required: No
Contents
schedule
A structure that contains the time and date that Evidently completed the analysis of the experiment.
Type: ExperimentSchedule (p. 123) object Required: No
status
The current state of the experiment.
Type: String
Valid Values: CREATED | UPDATING | RUNNING | COMPLETED | CANCELLED Required: Yes
statusReason
If the experiment was stopped, this is the string that was entered by the person who stopped the experiment, to explain why it was stopped.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 160.
Pattern: .*
Required: No tags
The list of tag keys and values associated with this experiment.
Type: String to string map
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern: ^(?!aws:)[a-zA-Z+-=._:/]+$
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No treatments
An array of structures that describe the configuration of each feature variation used in the experiment.
Type: Array of Treatment (p. 161) objects
Array Members: Minimum number of 2 items. Maximum number of 5 items.
Required: No type
The type of this experiment. Currently, this value must be aws.experiment.onlineab.
Type: String
Valid Values: aws.evidently.onlineab Required: Yes
See Also
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
ExperimentExecution
ExperimentExecution
This structure contains the date and time that the experiment started and ended.
Contents
endedTime
The date and time that the experiment ended.
Type: Timestamp Required: No startedTime
The date and time that the experiment started.
Type: Timestamp Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
ExperimentReport
ExperimentReport
A structure that contains results of an experiment.
Contents
content
The content of the report.
Type: String Required: No metricName
The name of the metric that is analyzed in this experiment report.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern: ^[\S]+$
Required: No reportName
The type of analysis used for this report.
Type: String
Valid Values: BayesianInference Required: No
treatmentName
The name of the variation that this report pertains to.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 127.
Pattern: ^[-a-zA-Z0-9._]*$
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
ExperimentResultsData
ExperimentResultsData
A structure that contains experiment results for one metric that is monitored in the experiment.
Contents
metricName
The name of the metric.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern: ^[\S]+$
Required: No resultStat
The experiment statistic that these results pertain to.
Type: String
Valid Values: Mean | TreatmentEffect | ConfidenceIntervalUpperBound | ConfidenceIntervalLowerBound | PValue
Required: No treatmentName
The treatment, or variation, that returned the values in this structure.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 127.
Pattern: ^[-a-zA-Z0-9._]*$
Required: No values
The values for the metricName that were recorded in the experiment.
Type: Array of doubles
Array Members: Minimum number of 0 items. Maximum number of 100800 items.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
See Also
ExperimentSchedule
ExperimentSchedule
This structure contains the time and date that Evidently completed the analysis of the experiment.
Contents
analysisCompleteTime
The time and date that Evidently completed the analysis of the experiment.
Type: Timestamp Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
Feature
Feature
This structure contains information about one Evidently feature in your account.
Contents
arn
The ARN of the feature.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern: arn:[^:]*:[^:]*:[^:]*:[^:]*:project/[-a-zA-Z0-9._]*/feature/[-a-zA-Z0-9._]*
Required: Yes createdTime
The date and time that the feature is created.
Type: Timestamp Required: Yes defaultVariation
The name of the variation that is used as the default variation. The default variation is served to users who are not allocated to any ongoing launches or experiments of this feature.
This variation must also be listed in the variations structure.
If you omit defaultVariation, the first variation listed in the variations structure is used as the default variation.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 127.
Pattern: ^[-a-zA-Z0-9._]*$
Required: No description
The description of the feature.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 160.
Pattern: .*
Required: No entityOverrides
A set of key-value pairs that specify users who should always be served a specific variation of a feature. Each key specifies a user using their user ID, account ID, or some other identifier. The value specifies the name of the variation that the user is to be served.
Contents
For the override to be successful, the value of the key must match the entityId used in the EvaluateFeature operation.
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 20 items.
Key Length Constraints: Minimum length of 1. Maximum length of 512.
Key Pattern: .*
Value Length Constraints: Minimum length of 1. Maximum length of 127.
Value Pattern: ^[-a-zA-Z0-9._]*$
Required: No evaluationRules
An array of structures that define the evaluation rules for the feature.
Type: Array of EvaluationRule (p. 113) objects Required: No
evaluationStrategy
If this value is ALL_RULES, the traffic allocation specified by any ongoing launches or experiments is being used. If this is DEFAULT_VARIATION, the default variation is being served to all users.
Type: String
Valid Values: ALL_RULES | DEFAULT_VARIATION Required: Yes
lastUpdatedTime
The date and time that the feature was most recently updated.
Type: Timestamp Required: Yes name
The name of the feature.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 127.
Pattern: ^[-a-zA-Z0-9._]*$
Required: Yes project
The name or ARN of the project that contains the feature.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern: arn:[^:]*:[^:]*:[^:]*:[^:]*:project/[-a-zA-Z0-9._]*
See Also
Required: No status
The current state of the feature.
Type: String
Valid Values: AVAILABLE | UPDATING Required: Yes
tags
The list of tag keys and values associated with this feature.
Type: String to string map
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern: ^(?!aws:)[a-zA-Z+-=._:/]+$
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No valueType
Defines the type of value used to define the different feature variations. For more information, see Variation types
Type: String
Valid Values: STRING | LONG | DOUBLE | BOOLEAN Required: Yes
variations
An array of structures that contain the configuration of the feature's different variations.
Type: Array of Variation (p. 166) objects Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
FeatureSummary
FeatureSummary
This structure contains information about one Evidently feature in your account.
Contents
arn
The ARN of the feature.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern: arn:[^:]*:[^:]*:[^:]*:[^:]*:.*
Required: Yes createdTime
The date and time that the feature is created.
Type: Timestamp Required: Yes defaultVariation
The name of the variation that is used as the default variation. The default variation is served to users who are not allocated to any ongoing launches or experiments of this feature.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 127.
Pattern: ^[-a-zA-Z0-9._]*$
Required: No evaluationRules
An array of structures that define
Type: Array of EvaluationRule (p. 113) objects Required: No
evaluationStrategy
If this value is ALL_RULES, the traffic allocation specified by any ongoing launches or experiments is being used. If this is DEFAULT_VARIATION, the default variation is being served to all users.
Type: String
Valid Values: ALL_RULES | DEFAULT_VARIATION Required: Yes
lastUpdatedTime
The date and time that the feature was most recently updated.
Type: Timestamp
See Also
Required: Yes name
The name of the feature.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 127.
Pattern: ^[-a-zA-Z0-9._]*$
Required: Yes project
The name or ARN of the project that contains the feature.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern: ([-a-zA-Z0-9._]*)|(arn:[^:]*:[^:]*:[^:]*:[^:]*:project/[-a-zA-Z0-9._]*)
Required: No status
The current state of the feature.
Type: String
Valid Values: AVAILABLE | UPDATING Required: Yes
tags
The list of tag keys and values associated with this feature.
Type: String to string map
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern: ^(?!aws:)[a-zA-Z+-=._:/]+$
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
Launch
Launch
This structure contains the configuration details of one Evidently launch.
Contents
arn
The ARN of the launch.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern: arn:[^:]*:[^:]*:[^:]*:[^:]*:project/[-a-zA-Z0-9._]*/launch/[-a-zA-Z0-9._]*
Required: Yes createdTime
The date and time that the launch is created.
Type: Timestamp Required: Yes description
The description of the launch.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 160.
Pattern: .*
Required: No execution
A structure that contains information about the start and end times of the launch.
Type: LaunchExecution (p. 132) object Required: No
groups
An array of structures that define the feature variations that are being used in the launch.
Type: Array of LaunchGroup (p. 133) objects Required: No
lastUpdatedTime
The date and time that the launch was most recently updated.
Type: Timestamp Required: Yes
Contents
metricMonitors
An array of structures that define the metrics that are being used to monitor the launch performance.
Type: Array of MetricMonitor (p. 142) objects
Array Members: Minimum number of 0 items. Maximum number of 3 items.
Required: No name
The name of the launch.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 127.
Pattern: ^[-a-zA-Z0-9._]*$
Required: Yes project
The name or ARN of the project that contains the launch.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern: ([-a-zA-Z0-9._]*)|(arn:[^:]*:[^:]*:[^:]*:[^:]*:project/[-a-zA-Z0-9._]*)
Required: No randomizationSalt
This value is used when Evidently assigns a particular user session to the launch, to help create a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 127.
Pattern: .*
Required: No
scheduledSplitsDefinition
An array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.
Type: ScheduledSplitsLaunchDefinition (p. 160) object Required: No
status
The current state of the launch.
Type: String
Valid Values: CREATED | UPDATING | RUNNING | COMPLETED | CANCELLED
See Also
Required: Yes statusReason
If the launch was stopped, this is the string that was entered by the person who stopped the launch, to explain why it was stopped.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 160.
Pattern: .*
Required: No
Required: No