Update metric
https://api.datadoghq.com/api/v2/experiments/metrics/{metric_id}https://api.us3.datadoghq.com/api/v2/experiments/metrics/{metric_id}https://api.us5.datadoghq.com/api/v2/experiments/metrics/{metric_id}https://api.datadoghq.eu/api/v2/experiments/metrics/{metric_id}https://api.ap1.datadoghq.com/api/v2/experiments/metrics/{metric_id}https://api.ap2.datadoghq.com/api/v2/experiments/metrics/{metric_id}https://api.uk1.datadoghq.com/api/v2/experiments/metrics/{metric_id}https://api.ddog-gov.com/api/v2/experiments/metrics/{metric_id}https://api.us2.ddog-gov.com/api/v2/experiments/metrics/{metric_id}Overview
Update a metric. Certified metrics are read-only through this endpoint. This is a partial update: every attribute is optional and an omitted attribute keeps its stored value, so a body carrying only the fields being changed is enough. guardrail_cutoff_threshold is nullable -- send null to clear it, omit it to leave it alone. Omitting the aggregation leaves the metric's definition untouched; supplying one replaces it wholesale, and the metric's type is re-derived from the shape supplied. Property filters use property_id or measure_id UUIDs from the aggregation's data source. Attributes that are computed rather than stored (short_id, metric_type, certified_at, experiment_count, created_at, updated_at) are rejected rather than ignored, so a body copied from GET must have them removed. The is_certified attribute is rejected. Certification cannot be changed through this endpoint.
OAuth apps require the product_analytics_metrics_write authorization scope to access this endpoint.
Arguments
Path Parameters
metric_id [required]The UUID of the metric.
Request
Body Data (required)
data [required]JSON:API resource containing the metric identity and fields.
attributesFields supplied to update the metric. Every attribute is optional; omit an attribute to leave it unchanged.
data_source_typeSource of the data backing this metric.
DATADOG, DATADOG_REFERENCE_TABLE, CUSTOMER_WAREHOUSEdenominator_aggregationMeasure and calculation settings for a numerator or denominator aggregation. Supply exactly one non-null measure.
Object 1Settings for a metric aggregation that uses a Warehouse measure. The other measure must be omitted or null.
aging_threshold_daysStored aging threshold in days. The subject aging filter uses the aggregation window end and unit.
datadog_metric_measureOptional Datadog measure. Use null when the other measure is selected.
column_nameName of the Datadog event field used by this measure.
column_type [required]Data type of the source column.
filtersConditions used to select the metric's source data.
name [required]Display name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtype [required]Subtype of the Datadog data source.
source_type [required]Type of Datadog data source used for the measure.
enable_aging_subject_filterWhether to exclude subjects whose observation time is shorter than the aggregation window.
operation [required]Calculation applied to the measure values, such as sum.
property_filtersProperty filters that select data for this aggregation.
threshold_aggregation_typeCalculation used to evaluate the threshold.
threshold_breach_valueValue used to determine whether the threshold is breached.
threshold_comparison_operatorOperator used to compare the calculated value with the threshold.
threshold_timeframe_dimensionTime unit for the threshold evaluation window. Supports seconds, minutes, hours, days, calendar_days, and weeks. Calendar days start at midnight on the assignment day. Other units start at the assignment time.
threshold_timeframe_valueEnd of the threshold evaluation window, measured from assignment in the configured time unit.
timeframe_end_valueEnd offset of the aggregation window from assignment, in timeframe_unit.
timeframe_start_valueStart offset of the aggregation window from assignment, in timeframe_unit.
timeframe_unitTime unit for the aggregation window. Calendar days are measured from midnight on the assignment day. Other units are measured from the assignment time.
warehouse_metric_measure [required]Reference to a measure defined in a warehouse metric SQL model.
id [required]Identifier of the warehouse metric measure.
winsor_lower_fixed_valueFixed lower bound used to cap extreme measure values.
winsor_lower_percentilePercentile used to determine the lower bound for extreme measure values.
winsor_upper_fixed_valueFixed upper bound used to cap extreme measure values.
winsor_upper_percentilePercentile used to determine the upper bound for extreme measure values.
winsorization_strategyMethod used to cap extreme measure values before aggregation.
Object 2Settings for a metric aggregation that uses a Datadog measure. The other measure must be omitted or null.
aging_threshold_daysStored aging threshold in days. The subject aging filter uses the aggregation window end and unit.
datadog_metric_measure [required]Datadog source and query that supply values for the metric.
column_nameName of the Datadog event field used by this measure.
column_type [required]Data type of the source column.
filtersConditions used to select the metric's source data.
name [required]Display name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtype [required]Subtype of the Datadog data source.
source_type [required]Type of Datadog data source used for the measure.
enable_aging_subject_filterWhether to exclude subjects whose observation time is shorter than the aggregation window.
operation [required]Calculation applied to the measure values, such as sum.
property_filtersProperty filters that select data for this aggregation.
threshold_aggregation_typeCalculation used to evaluate the threshold.
threshold_breach_valueValue used to determine whether the threshold is breached.
threshold_comparison_operatorOperator used to compare the calculated value with the threshold.
threshold_timeframe_dimensionTime unit for the threshold evaluation window. Supports seconds, minutes, hours, days, calendar_days, and weeks. Calendar days start at midnight on the assignment day. Other units start at the assignment time.
threshold_timeframe_valueEnd of the threshold evaluation window, measured from assignment in the configured time unit.
timeframe_end_valueEnd offset of the aggregation window from assignment, in timeframe_unit.
timeframe_start_valueStart offset of the aggregation window from assignment, in timeframe_unit.
timeframe_unitTime unit for the aggregation window. Calendar days are measured from midnight on the assignment day. Other units are measured from the assignment time.
warehouse_metric_measureOptional warehouse measure. Use null when the other measure is selected.
id [required]Identifier of the warehouse metric measure.
winsor_lower_fixed_valueFixed lower bound used to cap extreme measure values.
winsor_lower_percentilePercentile used to determine the lower bound for extreme measure values.
winsor_upper_fixed_valueFixed upper bound used to cap extreme measure values.
winsor_upper_percentilePercentile used to determine the upper bound for extreme measure values.
winsorization_strategyMethod used to cap extreme measure values before aggregation.
descriptionSend null to clear the description. Omit to leave it unchanged.
desired_changeDirection of change that represents an improvement for this metric.
METRIC_INCREASES, METRIC_DECREASESformat_as_percentWhether results render as a percentage. Omit to leave it unchanged.
guardrail_cutoff_thresholdSend null to clear a stored threshold. Omit to leave it unchanged.
migration_metadataMetadata retained for resources imported from another system.
nameName of the metric. Omit to leave it unchanged.
numerator_aggregationMeasure and calculation settings for a numerator or denominator aggregation. Supply exactly one non-null measure.
Object 1Settings for a metric aggregation that uses a Warehouse measure. The other measure must be omitted or null.
aging_threshold_daysStored aging threshold in days. The subject aging filter uses the aggregation window end and unit.
datadog_metric_measureOptional Datadog measure. Use null when the other measure is selected.
column_nameName of the Datadog event field used by this measure.
column_type [required]Data type of the source column.
filtersConditions used to select the metric's source data.
name [required]Display name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtype [required]Subtype of the Datadog data source.
source_type [required]Type of Datadog data source used for the measure.
enable_aging_subject_filterWhether to exclude subjects whose observation time is shorter than the aggregation window.
operation [required]Calculation applied to the measure values, such as sum.
property_filtersProperty filters that select data for this aggregation.
threshold_aggregation_typeCalculation used to evaluate the threshold.
threshold_breach_valueValue used to determine whether the threshold is breached.
threshold_comparison_operatorOperator used to compare the calculated value with the threshold.
threshold_timeframe_dimensionTime unit for the threshold evaluation window. Supports seconds, minutes, hours, days, calendar_days, and weeks. Calendar days start at midnight on the assignment day. Other units start at the assignment time.
threshold_timeframe_valueEnd of the threshold evaluation window, measured from assignment in the configured time unit.
timeframe_end_valueEnd offset of the aggregation window from assignment, in timeframe_unit.
timeframe_start_valueStart offset of the aggregation window from assignment, in timeframe_unit.
timeframe_unitTime unit for the aggregation window. Calendar days are measured from midnight on the assignment day. Other units are measured from the assignment time.
warehouse_metric_measure [required]Reference to a measure defined in a warehouse metric SQL model.
id [required]Identifier of the warehouse metric measure.
winsor_lower_fixed_valueFixed lower bound used to cap extreme measure values.
winsor_lower_percentilePercentile used to determine the lower bound for extreme measure values.
winsor_upper_fixed_valueFixed upper bound used to cap extreme measure values.
winsor_upper_percentilePercentile used to determine the upper bound for extreme measure values.
winsorization_strategyMethod used to cap extreme measure values before aggregation.
Object 2Settings for a metric aggregation that uses a Datadog measure. The other measure must be omitted or null.
aging_threshold_daysStored aging threshold in days. The subject aging filter uses the aggregation window end and unit.
datadog_metric_measure [required]Datadog source and query that supply values for the metric.
column_nameName of the Datadog event field used by this measure.
column_type [required]Data type of the source column.
filtersConditions used to select the metric's source data.
name [required]Display name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtype [required]Subtype of the Datadog data source.
source_type [required]Type of Datadog data source used for the measure.
enable_aging_subject_filterWhether to exclude subjects whose observation time is shorter than the aggregation window.
operation [required]Calculation applied to the measure values, such as sum.
property_filtersProperty filters that select data for this aggregation.
threshold_aggregation_typeCalculation used to evaluate the threshold.
threshold_breach_valueValue used to determine whether the threshold is breached.
threshold_comparison_operatorOperator used to compare the calculated value with the threshold.
threshold_timeframe_dimensionTime unit for the threshold evaluation window. Supports seconds, minutes, hours, days, calendar_days, and weeks. Calendar days start at midnight on the assignment day. Other units start at the assignment time.
threshold_timeframe_valueEnd of the threshold evaluation window, measured from assignment in the configured time unit.
timeframe_end_valueEnd offset of the aggregation window from assignment, in timeframe_unit.
timeframe_start_valueStart offset of the aggregation window from assignment, in timeframe_unit.
timeframe_unitTime unit for the aggregation window. Calendar days are measured from midnight on the assignment day. Other units are measured from the assignment time.
warehouse_metric_measureOptional warehouse measure. Use null when the other measure is selected.
id [required]Identifier of the warehouse metric measure.
winsor_lower_fixed_valueFixed lower bound used to cap extreme measure values.
winsor_lower_percentilePercentile used to determine the lower bound for extreme measure values.
winsor_upper_fixed_valueFixed upper bound used to cap extreme measure values.
winsor_upper_percentilePercentile used to determine the upper bound for extreme measure values.
winsorization_strategyMethod used to cap extreme measure values before aggregation.
percentile_aggregationMeasure and percentile to calculate for the metric. Supply exactly one non-null measure.
Object 1Settings for a percentile aggregation that uses a Warehouse measure. The other measure must be omitted or null.
datadog_metric_measureOptional Datadog percentile measure. Use null when the warehouse measure is selected.
column_name [required]Name of the Datadog event field used by this measure.
column_type [required]Data type of the source column.
filtersConditions used to select the metric's source data.
name [required]Display name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtype [required]Subtype of the Datadog data source.
source_type [required]Type of Datadog data source used for the measure.
percentile [required]Percentile to calculate from the measure values.
property_filtersProperty filters that select data for the percentile calculation.
warehouse_metric_measure [required]Reference to a measure defined in a warehouse metric SQL model.
id [required]Identifier of the warehouse metric measure.
Object 2Settings for a percentile aggregation that uses a Datadog measure. The other measure must be omitted or null.
datadog_metric_measure [required]Datadog measure used to calculate a percentile.
column_name [required]Name of the Datadog event field used by this measure.
column_type [required]Data type of the source column.
filtersConditions used to select the metric's source data.
name [required]Display name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtype [required]Subtype of the Datadog data source.
source_type [required]Type of Datadog data source used for the measure.
percentile [required]Percentile to calculate from the measure values.
property_filtersProperty filters that select data for the percentile calculation.
warehouse_metric_measureOptional warehouse measure. Use null when the other measure is selected.
id [required]Identifier of the warehouse metric measure.
idID of the metric.
type [required]The metric resource type.
metricsmetrics{
"data": {
"type": "metrics",
"id": "550e8400-e29b-41d4-a716-446655440002",
"attributes": {
"name": "ex-14bb9543f523edde updated"
}
}
}Response
OK
Response containing the metric.
data [required]JSON:API resource containing the metric identity and fields.
attributesDetails of the metric.
certified_atTime when this resource was certified.
created_atTime when this resource was created.
data_source_typeSource of the data used to calculate the metric.
DATADOG, DATADOG_REFERENCE_TABLE, CUSTOMER_WAREHOUSE, IMPORTED, UNKNOWNdenominator_aggregationSource measure and aggregation settings for a metric value.
aging_threshold_daysStored aging threshold in days. The subject aging filter uses the aggregation window end and unit.
datadog_metric_measureDatadog source and query that supply values for the metric.
column_nameName of the Datadog event field used by this measure.
column_typeData type of the source column.
filtersConditions used to select the metric's source data.
nameDisplay name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtypeSubtype of the Datadog data source.
source_typeType of Datadog data source used for the measure.
enable_aging_subject_filterWhether to exclude subjects whose observation time is shorter than the aggregation window.
operationAggregation applied to the selected measure.
pipeline_column_suffixSuffix used to identify this value in pipeline output columns.
property_filtersFilters applied to the metric aggregation.
threshold_aggregation_typeAggregation used to evaluate the threshold.
threshold_breach_valueValue used to determine whether the threshold is breached.
threshold_comparison_operatorComparison applied between the aggregated value and the threshold.
threshold_timeframe_dimensionTime unit used for the threshold evaluation window.
threshold_timeframe_valueSize of the threshold evaluation window.
timeframe_end_valueEnd of the aggregation window in the specified time unit.
timeframe_start_valueStart of the aggregation window in the specified time unit.
timeframe_unitTime unit used for the aggregation window.
warehouse_metric_measureWarehouse measure that supplies values for the metric.
idID of the measure.
pipeline_column_suffixSuffix used to identify this value in pipeline output columns.
winsor_lower_fixed_valueFixed lower bound used to cap metric values.
winsor_lower_percentilePercentile used to determine the lower bound for capped metric values.
winsor_upper_fixed_valueFixed upper bound used to cap metric values.
winsor_upper_percentilePercentile used to determine the upper bound for capped metric values.
winsorization_strategyMethod used to cap extreme metric values.
descriptionText that explains the metric.
desired_changeDirection of metric change considered desirable.
METRIC_INCREASES, METRIC_DECREASES, UNKNOWNexperiment_countNumber of experiments that reference this resource.
format_as_percentWhether to display the metric value as a percentage.
guardrail_cutoff_thresholdThreshold used when evaluating this metric as a guardrail.
metric_typeType of metric calculation.
SIMPLE, RATIO, PERCENTILE, UNKNOWNmigration_metadataMetadata retained for resources imported from another system.
nameDisplay name of the metric.
numerator_aggregationSource measure and aggregation settings for a metric value.
aging_threshold_daysStored aging threshold in days. The subject aging filter uses the aggregation window end and unit.
datadog_metric_measureDatadog source and query that supply values for the metric.
column_nameName of the Datadog event field used by this measure.
column_typeData type of the source column.
filtersConditions used to select the metric's source data.
nameDisplay name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtypeSubtype of the Datadog data source.
source_typeType of Datadog data source used for the measure.
enable_aging_subject_filterWhether to exclude subjects whose observation time is shorter than the aggregation window.
operationAggregation applied to the selected measure.
pipeline_column_suffixSuffix used to identify this value in pipeline output columns.
property_filtersFilters applied to the metric aggregation.
threshold_aggregation_typeAggregation used to evaluate the threshold.
threshold_breach_valueValue used to determine whether the threshold is breached.
threshold_comparison_operatorComparison applied between the aggregated value and the threshold.
threshold_timeframe_dimensionTime unit used for the threshold evaluation window.
threshold_timeframe_valueSize of the threshold evaluation window.
timeframe_end_valueEnd of the aggregation window in the specified time unit.
timeframe_start_valueStart of the aggregation window in the specified time unit.
timeframe_unitTime unit used for the aggregation window.
warehouse_metric_measureWarehouse measure that supplies values for the metric.
idID of the measure.
pipeline_column_suffixSuffix used to identify this value in pipeline output columns.
winsor_lower_fixed_valueFixed lower bound used to cap metric values.
winsor_lower_percentilePercentile used to determine the lower bound for capped metric values.
winsor_upper_fixed_valueFixed upper bound used to cap metric values.
winsor_upper_percentilePercentile used to determine the upper bound for capped metric values.
winsorization_strategyMethod used to cap extreme metric values.
percentile_aggregationSource measure and settings for a percentile metric.
datadog_metric_measureDatadog source and query that supply values for the metric.
column_nameName of the Datadog event field used by this measure.
column_typeData type of the source column.
filtersConditions used to select the metric's source data.
nameDisplay name of the Datadog measure.
queryQuery used to retrieve the Datadog measure.
source_definition_filterFilter applied to the Datadog source definition.
source_subtypeSubtype of the Datadog data source.
source_typeType of Datadog data source used for the measure.
percentilePercentile calculated from the selected measure.
pipeline_column_suffixSuffix used to identify this value in pipeline output columns.
property_filtersFilters applied to the metric aggregation.
warehouse_metric_measureWarehouse measure that supplies values for the metric.
idID of the measure.
pipeline_column_suffixSuffix used to identify this value in pipeline output columns.
reference_urlURL with supporting information about the metric.
updated_atTime when this resource was last updated.
id [required]ID of the metric.
type [required]The metric resource type.
metricsmetrics{
"data": {
"attributes": {
"created_at": "2024-01-01T12:00:00Z",
"data_source_type": "CUSTOMER_WAREHOUSE",
"description": "Share of sessions that reach the order confirmation page",
"desired_change": "METRIC_INCREASES",
"format_as_percent": true,
"metric_type": "SIMPLE",
"name": "Checkout conversion",
"numerator_aggregation": {
"operation": "sum",
"pipeline_column_suffix": "agg001",
"timeframe_start_value": 0,
"warehouse_metric_measure": {
"id": "550e8400-e29b-41d4-a716-446655440021",
"pipeline_column_suffix": "rev001"
}
},
"reference_url": "",
"updated_at": "2024-01-01T12:00:00Z"
},
"id": "550e8400-e29b-41d4-a716-446655440002",
"type": "metrics"
}
}Malformed ID or body, or validation failure.
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Missing or invalid authentication.
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Caller lacks product_analytics_metrics_write or edit access to this specific metric.
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}No metric with this ID exists for the organization.
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}The metric is imported, certified, or managed by metric sync, or another metric in this organization already uses one of these values.
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Request body sent with a media type other than application/json or application/vnd.api+json.
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort human-readable summary of the error.
{
"errors": [
{
"detail": "Missing required attribute in body",
"meta": {},
"source": {
"header": "Authorization",
"parameter": "limit",
"pointer": "/data/attributes/title"
},
"status": "400",
"title": "Bad Request"
}
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Code Example
# Path parameters
export metric_id="550e8400-e29b-41d4-a716-446655440000"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/experiments/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"id": "550e8400-e29b-41d4-a716-446655440002",
"attributes": {
"name": "ex-14bb9543f523edde updated"
}
}
}
EOF# Path parameters
export metric_id="550e8400-e29b-41d4-a716-446655440000"
# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/experiments/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"id": "550e8400-e29b-41d4-a716-446655440002",
"attributes": {
"name": "ex-14bb9543f523edde updated"
}
}
}
EOF# Path parameters
export metric_id="550e8400-e29b-41d4-a716-446655440000"
# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/experiments/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"id": "550e8400-e29b-41d4-a716-446655440002",
"attributes": {
"name": "ex-14bb9543f523edde updated"
}
}
}
EOF# Path parameters
export metric_id="550e8400-e29b-41d4-a716-446655440000"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/experiments/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"id": "550e8400-e29b-41d4-a716-446655440002",
"attributes": {
"name": "ex-14bb9543f523edde updated"
}
}
}
EOF# Path parameters
export metric_id="550e8400-e29b-41d4-a716-446655440000"
# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/experiments/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"id": "550e8400-e29b-41d4-a716-446655440002",
"attributes": {
"name": "ex-14bb9543f523edde updated"
}
}
}
EOF# Path parameters
export metric_id="550e8400-e29b-41d4-a716-446655440000"
# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/experiments/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"id": "550e8400-e29b-41d4-a716-446655440002",
"attributes": {
"name": "ex-14bb9543f523edde updated"
}
}
}
EOF# Path parameters
export metric_id="550e8400-e29b-41d4-a716-446655440000"
# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/experiments/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"id": "550e8400-e29b-41d4-a716-446655440002",
"attributes": {
"name": "ex-14bb9543f523edde updated"
}
}
}
EOF# Path parameters
export metric_id="550e8400-e29b-41d4-a716-446655440000"
# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/experiments/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"id": "550e8400-e29b-41d4-a716-446655440002",
"attributes": {
"name": "ex-14bb9543f523edde updated"
}
}
}
EOF# Path parameters
export metric_id="550e8400-e29b-41d4-a716-446655440000"
# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/experiments/metrics/${metric_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "metrics",
"id": "550e8400-e29b-41d4-a716-446655440002",
"attributes": {
"name": "ex-14bb9543f523edde updated"
}
}
}
EOF// Update metric returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
"github.com/google/uuid"
)
func main() {
// there is a valid "experiment_metric" in the system
ExperimentMetricDataID := uuid.MustParse(os.Getenv("EXPERIMENT_METRIC_DATA_ID"))
body := datadogV2.ExperimentsUpdateMetricV2Request{
Data: datadogV2.ExperimentsUpdateMetricV2RequestData{
Type: datadogV2.METRICTYPE_METRICS,
Id: datadog.PtrUUID(ExperimentMetricDataID),
Attributes: &datadogV2.ExperimentsUpdateMetricV2RequestDataAttributes{
Name: datadog.PtrString("ex-14bb9543f523edde updated"),
},
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewExperimentsApi(apiClient)
resp, r, err := api.UpdateMetric(ctx, ExperimentMetricDataID, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `ExperimentsApi.UpdateMetric`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `ExperimentsApi.UpdateMetric`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Update metric returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.ExperimentsApi;
import com.datadog.api.client.v2.model.ExperimentsMetricV2DTO;
import com.datadog.api.client.v2.model.ExperimentsUpdateMetricV2Request;
import com.datadog.api.client.v2.model.ExperimentsUpdateMetricV2RequestData;
import com.datadog.api.client.v2.model.ExperimentsUpdateMetricV2RequestDataAttributes;
import com.datadog.api.client.v2.model.MetricType;
import java.util.UUID;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
ExperimentsApi apiInstance = new ExperimentsApi(defaultClient);
// there is a valid "experiment_metric" in the system
UUID EXPERIMENT_METRIC_DATA_ID = null;
try {
EXPERIMENT_METRIC_DATA_ID = UUID.fromString(System.getenv("EXPERIMENT_METRIC_DATA_ID"));
} catch (IllegalArgumentException e) {
System.err.println("Error parsing UUID: " + e.getMessage());
}
ExperimentsUpdateMetricV2Request body =
new ExperimentsUpdateMetricV2Request()
.data(
new ExperimentsUpdateMetricV2RequestData()
.type(MetricType.METRICS)
.id(EXPERIMENT_METRIC_DATA_ID)
.attributes(
new ExperimentsUpdateMetricV2RequestDataAttributes()
.name("ex-14bb9543f523edde updated")));
try {
ExperimentsMetricV2DTO result = apiInstance.updateMetric(EXPERIMENT_METRIC_DATA_ID, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ExperimentsApi#updateMetric");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Update metric returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.experiments_api import ExperimentsApi
from datadog_api_client.v2.model.experiments_update_metric_v2_request import ExperimentsUpdateMetricV2Request
from datadog_api_client.v2.model.experiments_update_metric_v2_request_data import ExperimentsUpdateMetricV2RequestData
from datadog_api_client.v2.model.experiments_update_metric_v2_request_data_attributes import (
ExperimentsUpdateMetricV2RequestDataAttributes,
)
from datadog_api_client.v2.model.metric_type import MetricType
# there is a valid "experiment_metric" in the system
EXPERIMENT_METRIC_DATA_ID = environ["EXPERIMENT_METRIC_DATA_ID"]
body = ExperimentsUpdateMetricV2Request(
data=ExperimentsUpdateMetricV2RequestData(
type=MetricType.METRICS,
id=EXPERIMENT_METRIC_DATA_ID,
attributes=ExperimentsUpdateMetricV2RequestDataAttributes(
name="ex-14bb9543f523edde updated",
),
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = ExperimentsApi(api_client)
response = api_instance.update_metric(metric_id=EXPERIMENT_METRIC_DATA_ID, body=body)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Update metric returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::ExperimentsAPI.new
# there is a valid "experiment_metric" in the system
EXPERIMENT_METRIC_DATA_ID = ENV["EXPERIMENT_METRIC_DATA_ID"]
body = DatadogAPIClient::V2::ExperimentsUpdateMetricV2Request.new({
data: DatadogAPIClient::V2::ExperimentsUpdateMetricV2RequestData.new({
type: DatadogAPIClient::V2::MetricType::METRICS,
id: EXPERIMENT_METRIC_DATA_ID,
attributes: DatadogAPIClient::V2::ExperimentsUpdateMetricV2RequestDataAttributes.new({
name: "ex-14bb9543f523edde updated",
}),
}),
})
p api_instance.update_metric(EXPERIMENT_METRIC_DATA_ID, body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Update metric returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_experiments::ExperimentsAPI;
use datadog_api_client::datadogV2::model::ExperimentsUpdateMetricV2Request;
use datadog_api_client::datadogV2::model::ExperimentsUpdateMetricV2RequestData;
use datadog_api_client::datadogV2::model::ExperimentsUpdateMetricV2RequestDataAttributes;
use datadog_api_client::datadogV2::model::MetricType;
#[tokio::main]
async fn main() {
// there is a valid "experiment_metric" in the system
let experiment_metric_data_id =
uuid::Uuid::parse_str(&std::env::var("EXPERIMENT_METRIC_DATA_ID").unwrap())
.expect("Invalid UUID");
let body = ExperimentsUpdateMetricV2Request::new(
ExperimentsUpdateMetricV2RequestData::new(MetricType::METRICS)
.attributes(
ExperimentsUpdateMetricV2RequestDataAttributes::new()
.name("ex-14bb9543f523edde updated".to_string()),
)
.id(experiment_metric_data_id.clone()),
);
let configuration = datadog::Configuration::new();
let api = ExperimentsAPI::with_config(configuration);
let resp = api
.update_metric(experiment_metric_data_id.clone(), body)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run