---
title: Create metric
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > API Reference > Experiments
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

{% callout %}
# Important note for users on the following Datadog sites: app.ddog-gov.com, us2.ddog-gov.com

{% alert level="danger" %}
This product is not supported for your selected [Datadog site](https://docs.datadoghq.com/getting_started/site.md). ({% placeholder "user-datadog-site-name" /%}).
{% /alert %}

{% /callout %}

# Create metric{% #create-metric %}

{% tab title="v2" %}

| Datadog site      | API endpoint                                                  |
| ----------------- | ------------------------------------------------------------- |
| ap1.datadoghq.com | POST https://api.ap1.datadoghq.com/api/v2/experiments/metrics |
| ap2.datadoghq.com | POST https://api.ap2.datadoghq.com/api/v2/experiments/metrics |
| app.datadoghq.eu  | POST https://api.datadoghq.eu/api/v2/experiments/metrics      |
| app.ddog-gov.com  | POST https://api.ddog-gov.com/api/v2/experiments/metrics      |
| us2.ddog-gov.com  | POST https://api.us2.ddog-gov.com/api/v2/experiments/metrics  |
| uk1.datadoghq.com | POST https://api.uk1.datadoghq.com/api/v2/experiments/metrics |
| app.datadoghq.com | POST https://api.datadoghq.com/api/v2/experiments/metrics     |
| us3.datadoghq.com | POST https://api.us3.datadoghq.com/api/v2/experiments/metrics |
| us5.datadoghq.com | POST https://api.us5.datadoghq.com/api/v2/experiments/metrics |

### Overview

Create a metric. The metric's type is derived from the aggregation shape: a numerator alone is SIMPLE, a numerator with a denominator is RATIO, and a percentile aggregation is PERCENTILE. Warehouse aggregations reference measures by UUID. Property filters use property_id or measure_id UUIDs returned by the same metric SQL model; every reference must belong to the aggregation's data source. The is_certified attribute is rejected. Certification cannot be changed through this endpoint. This endpoint requires the `product_analytics_metrics_write` permission.

OAuth apps require the `product_analytics_metrics_write` authorization [scope](https://docs.datadoghq.com/api/latest/scopes.md#experiments) to access this endpoint.



### Request

#### Body Data (required)



{% tab title="Model" %}

| Parent field             | Field                                      | Type          | Description                                                                                                                                                                                                          |
| ------------------------ | ------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|                          | data [*required*]                     | object        | Metric resource to create.                                                                                                                                                                                           |
| data                     | attributes [*required*]               |  <oneOf> | Configuration for the new metric. Supply either numerator_aggregation or percentile_aggregation. A denominator_aggregation requires numerator_aggregation. Omit unused aggregation fields; do not send them as null. |
| attributes               | Object 1                                   | object        | Configuration for a metric calculated from a numerator and an optional denominator. Omit percentile_aggregation. Omit denominator_aggregation when unused.                                                           |
| Object 1                 | data_source_type [*required*]         | enum          | Source of the data backing this metric. Allowed enum values: `DATADOG,DATADOG_REFERENCE_TABLE,CUSTOMER_WAREHOUSE`                                                                                                    |
| Object 1                 | denominator_aggregation                    |  <oneOf> | Measure and calculation settings for a numerator or denominator aggregation. Supply exactly one non-null measure.                                                                                                    |
| denominator_aggregation  | Object 1                                   | object        | Settings for a metric aggregation that uses a Warehouse measure. The other measure must be omitted or null.                                                                                                          |
| Object 1                 | aging_threshold_days                       | int64         | Stored aging threshold in days. The subject aging filter uses the aggregation window end and unit.                                                                                                                   |
| Object 1                 | datadog_metric_measure                     | object        | Optional Datadog measure. Use null when the other measure is selected.                                                                                                                                               |
| datadog_metric_measure   | column_name                                | string        | Name of the Datadog event field used by this measure.                                                                                                                                                                |
| datadog_metric_measure   | column_type [*required*]              | string        | Data type of the source column.                                                                                                                                                                                      |
| datadog_metric_measure   | filters                                    |               | Conditions used to select the metric's source data.                                                                                                                                                                  |
| datadog_metric_measure   | name [*required*]                     | string        | Display name of the Datadog measure.                                                                                                                                                                                 |
| datadog_metric_measure   | query                                      | string        | Query used to retrieve the Datadog measure.                                                                                                                                                                          |
| datadog_metric_measure   | source_definition_filter                   |               | Filter applied to the Datadog source definition.                                                                                                                                                                     |
| datadog_metric_measure   | source_subtype [*required*]           | string        | Subtype of the Datadog data source.                                                                                                                                                                                  |
| datadog_metric_measure   | source_type [*required*]              | string        | Type of Datadog data source used for the measure.                                                                                                                                                                    |
| Object 1                 | enable_aging_subject_filter                | boolean       | Whether to exclude subjects whose observation time is shorter than the aggregation window.                                                                                                                           |
| Object 1                 | operation [*required*]                | string        | Calculation applied to the measure values, such as sum.                                                                                                                                                              |
| Object 1                 | property_filters                           | [array]       | Property filters that select data for this aggregation.                                                                                                                                                              |
| Object 1                 | threshold_aggregation_type                 | string        | Calculation used to evaluate the threshold.                                                                                                                                                                          |
| Object 1                 | threshold_breach_value                     | double        | Value used to determine whether the threshold is breached.                                                                                                                                                           |
| Object 1                 | threshold_comparison_operator              | string        | Operator used to compare the calculated value with the threshold.                                                                                                                                                    |
| Object 1                 | threshold_timeframe_dimension              | string        | Time 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.    |
| Object 1                 | threshold_timeframe_value                  | double        | End of the threshold evaluation window, measured from assignment in the configured time unit.                                                                                                                        |
| Object 1                 | timeframe_end_value                        | double        | End offset of the aggregation window from assignment, in timeframe_unit.                                                                                                                                             |
| Object 1                 | timeframe_start_value                      | double        | Start offset of the aggregation window from assignment, in timeframe_unit.                                                                                                                                           |
| Object 1                 | timeframe_unit                             | string        | Time unit for the aggregation window. Calendar days are measured from midnight on the assignment day. Other units are measured from the assignment time.                                                             |
| Object 1                 | warehouse_metric_measure [*required*] | object        | Reference to a measure defined in a warehouse metric SQL model.                                                                                                                                                      |
| warehouse_metric_measure | id [*required*]                       | uuid          | Identifier of the warehouse metric measure.                                                                                                                                                                          |
| Object 1                 | winsor_lower_fixed_value                   | double        | Fixed lower bound used to cap extreme measure values.                                                                                                                                                                |
| Object 1                 | winsor_lower_percentile                    | double        | Percentile used to determine the lower bound for extreme measure values.                                                                                                                                             |
| Object 1                 | winsor_upper_fixed_value                   | double        | Fixed upper bound used to cap extreme measure values.                                                                                                                                                                |
| Object 1                 | winsor_upper_percentile                    | double        | Percentile used to determine the upper bound for extreme measure values.                                                                                                                                             |
| Object 1                 | winsorization_strategy                     | string        | Method used to cap extreme measure values before aggregation.                                                                                                                                                        |
| denominator_aggregation  | Object 2                                   | object        | Settings for a metric aggregation that uses a Datadog measure. The other measure must be omitted or null.                                                                                                            |
| Object 2                 | aging_threshold_days                       | int64         | Stored aging threshold in days. The subject aging filter uses the aggregation window end and unit.                                                                                                                   |
| Object 2                 | datadog_metric_measure [*required*]   | object        | Datadog source and query that supply values for the metric.                                                                                                                                                          |
| datadog_metric_measure   | column_name                                | string        | Name of the Datadog event field used by this measure.                                                                                                                                                                |
| datadog_metric_measure   | column_type [*required*]              | string        | Data type of the source column.                                                                                                                                                                                      |
| datadog_metric_measure   | filters                                    |               | Conditions used to select the metric's source data.                                                                                                                                                                  |
| datadog_metric_measure   | name [*required*]                     | string        | Display name of the Datadog measure.                                                                                                                                                                                 |
| datadog_metric_measure   | query                                      | string        | Query used to retrieve the Datadog measure.                                                                                                                                                                          |
| datadog_metric_measure   | source_definition_filter                   |               | Filter applied to the Datadog source definition.                                                                                                                                                                     |
| datadog_metric_measure   | source_subtype [*required*]           | string        | Subtype of the Datadog data source.                                                                                                                                                                                  |
| datadog_metric_measure   | source_type [*required*]              | string        | Type of Datadog data source used for the measure.                                                                                                                                                                    |
| Object 2                 | enable_aging_subject_filter                | boolean       | Whether to exclude subjects whose observation time is shorter than the aggregation window.                                                                                                                           |
| Object 2                 | operation [*required*]                | string        | Calculation applied to the measure values, such as sum.                                                                                                                                                              |
| Object 2                 | property_filters                           | [array]       | Property filters that select data for this aggregation.                                                                                                                                                              |
| Object 2                 | threshold_aggregation_type                 | string        | Calculation used to evaluate the threshold.                                                                                                                                                                          |
| Object 2                 | threshold_breach_value                     | double        | Value used to determine whether the threshold is breached.                                                                                                                                                           |
| Object 2                 | threshold_comparison_operator              | string        | Operator used to compare the calculated value with the threshold.                                                                                                                                                    |
| Object 2                 | threshold_timeframe_dimension              | string        | Time 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.    |
| Object 2                 | threshold_timeframe_value                  | double        | End of the threshold evaluation window, measured from assignment in the configured time unit.                                                                                                                        |
| Object 2                 | timeframe_end_value                        | double        | End offset of the aggregation window from assignment, in timeframe_unit.                                                                                                                                             |
| Object 2                 | timeframe_start_value                      | double        | Start offset of the aggregation window from assignment, in timeframe_unit.                                                                                                                                           |
| Object 2                 | timeframe_unit                             | string        | Time unit for the aggregation window. Calendar days are measured from midnight on the assignment day. Other units are measured from the assignment time.                                                             |
| Object 2                 | warehouse_metric_measure                   | object        | Optional warehouse measure. Use null when the other measure is selected.                                                                                                                                             |
| warehouse_metric_measure | id [*required*]                       | uuid          | Identifier of the warehouse metric measure.                                                                                                                                                                          |
| Object 2                 | winsor_lower_fixed_value                   | double        | Fixed lower bound used to cap extreme measure values.                                                                                                                                                                |
| Object 2                 | winsor_lower_percentile                    | double        | Percentile used to determine the lower bound for extreme measure values.                                                                                                                                             |
| Object 2                 | winsor_upper_fixed_value                   | double        | Fixed upper bound used to cap extreme measure values.                                                                                                                                                                |
| Object 2                 | winsor_upper_percentile                    | double        | Percentile used to determine the upper bound for extreme measure values.                                                                                                                                             |
| Object 2                 | winsorization_strategy                     | string        | Method used to cap extreme measure values before aggregation.                                                                                                                                                        |
| Object 1                 | description                                | string        | Description of the metric. Send null to leave it unset.                                                                                                                                                              |
| Object 1                 | desired_change [*required*]           | enum          | Direction of change that represents an improvement for this metric. Allowed enum values: `METRIC_INCREASES,METRIC_DECREASES`                                                                                         |
| Object 1                 | format_as_percent                          | boolean       | Whether results render as a percentage. Defaults to false when omitted.                                                                                                                                              |
| Object 1                 | guardrail_cutoff_threshold                 | double        | Guardrail cutoff threshold. Send null to leave it unset.                                                                                                                                                             |
| Object 1                 | migration_metadata                         |               | Metadata associated with migration of this resource.                                                                                                                                                                 |
| Object 1                 | name [*required*]                     | string        | Name of the metric.                                                                                                                                                                                                  |
| Object 1                 | numerator_aggregation [*required*]    |  <oneOf> | Measure and calculation settings for a numerator or denominator aggregation. Supply exactly one non-null measure.                                                                                                    |
| numerator_aggregation    | Object 1                                   | object        | Settings for a metric aggregation that uses a Warehouse measure. The other measure must be omitted or null.                                                                                                          |
| Object 1                 | aging_threshold_days                       | int64         | Stored aging threshold in days. The subject aging filter uses the aggregation window end and unit.                                                                                                                   |
| Object 1                 | datadog_metric_measure                     | object        | Optional Datadog measure. Use null when the other measure is selected.                                                                                                                                               |
| datadog_metric_measure   | column_name                                | string        | Name of the Datadog event field used by this measure.                                                                                                                                                                |
| datadog_metric_measure   | column_type [*required*]              | string        | Data type of the source column.                                                                                                                                                                                      |
| datadog_metric_measure   | filters                                    |               | Conditions used to select the metric's source data.                                                                                                                                                                  |
| datadog_metric_measure   | name [*required*]                     | string        | Display name of the Datadog measure.                                                                                                                                                                                 |
| datadog_metric_measure   | query                                      | string        | Query used to retrieve the Datadog measure.                                                                                                                                                                          |
| datadog_metric_measure   | source_definition_filter                   |               | Filter applied to the Datadog source definition.                                                                                                                                                                     |
| datadog_metric_measure   | source_subtype [*required*]           | string        | Subtype of the Datadog data source.                                                                                                                                                                                  |
| datadog_metric_measure   | source_type [*required*]              | string        | Type of Datadog data source used for the measure.                                                                                                                                                                    |
| Object 1                 | enable_aging_subject_filter                | boolean       | Whether to exclude subjects whose observation time is shorter than the aggregation window.                                                                                                                           |
| Object 1                 | operation [*required*]                | string        | Calculation applied to the measure values, such as sum.                                                                                                                                                              |
| Object 1                 | property_filters                           | [array]       | Property filters that select data for this aggregation.                                                                                                                                                              |
| Object 1                 | threshold_aggregation_type                 | string        | Calculation used to evaluate the threshold.                                                                                                                                                                          |
| Object 1                 | threshold_breach_value                     | double        | Value used to determine whether the threshold is breached.                                                                                                                                                           |
| Object 1                 | threshold_comparison_operator              | string        | Operator used to compare the calculated value with the threshold.                                                                                                                                                    |
| Object 1                 | threshold_timeframe_dimension              | string        | Time 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.    |
| Object 1                 | threshold_timeframe_value                  | double        | End of the threshold evaluation window, measured from assignment in the configured time unit.                                                                                                                        |
| Object 1                 | timeframe_end_value                        | double        | End offset of the aggregation window from assignment, in timeframe_unit.                                                                                                                                             |
| Object 1                 | timeframe_start_value                      | double        | Start offset of the aggregation window from assignment, in timeframe_unit.                                                                                                                                           |
| Object 1                 | timeframe_unit                             | string        | Time unit for the aggregation window. Calendar days are measured from midnight on the assignment day. Other units are measured from the assignment time.                                                             |
| Object 1                 | warehouse_metric_measure [*required*] | object        | Reference to a measure defined in a warehouse metric SQL model.                                                                                                                                                      |
| warehouse_metric_measure | id [*required*]                       | uuid          | Identifier of the warehouse metric measure.                                                                                                                                                                          |
| Object 1                 | winsor_lower_fixed_value                   | double        | Fixed lower bound used to cap extreme measure values.                                                                                                                                                                |
| Object 1                 | winsor_lower_percentile                    | double        | Percentile used to determine the lower bound for extreme measure values.                                                                                                                                             |
| Object 1                 | winsor_upper_fixed_value                   | double        | Fixed upper bound used to cap extreme measure values.                                                                                                                                                                |
| Object 1                 | winsor_upper_percentile                    | double        | Percentile used to determine the upper bound for extreme measure values.                                                                                                                                             |
| Object 1                 | winsorization_strategy                     | string        | Method used to cap extreme measure values before aggregation.                                                                                                                                                        |
| numerator_aggregation    | Object 2                                   | object        | Settings for a metric aggregation that uses a Datadog measure. The other measure must be omitted or null.                                                                                                            |
| Object 2                 | aging_threshold_days                       | int64         | Stored aging threshold in days. The subject aging filter uses the aggregation window end and unit.                                                                                                                   |
| Object 2                 | datadog_metric_measure [*required*]   | object        | Datadog source and query that supply values for the metric.                                                                                                                                                          |
| datadog_metric_measure   | column_name                                | string        | Name of the Datadog event field used by this measure.                                                                                                                                                                |
| datadog_metric_measure   | column_type [*required*]              | string        | Data type of the source column.                                                                                                                                                                                      |
| datadog_metric_measure   | filters                                    |               | Conditions used to select the metric's source data.                                                                                                                                                                  |
| datadog_metric_measure   | name [*required*]                     | string        | Display name of the Datadog measure.                                                                                                                                                                                 |
| datadog_metric_measure   | query                                      | string        | Query used to retrieve the Datadog measure.                                                                                                                                                                          |
| datadog_metric_measure   | source_definition_filter                   |               | Filter applied to the Datadog source definition.                                                                                                                                                                     |
| datadog_metric_measure   | source_subtype [*required*]           | string        | Subtype of the Datadog data source.                                                                                                                                                                                  |
| datadog_metric_measure   | source_type [*required*]              | string        | Type of Datadog data source used for the measure.                                                                                                                                                                    |
| Object 2                 | enable_aging_subject_filter                | boolean       | Whether to exclude subjects whose observation time is shorter than the aggregation window.                                                                                                                           |
| Object 2                 | operation [*required*]                | string        | Calculation applied to the measure values, such as sum.                                                                                                                                                              |
| Object 2                 | property_filters                           | [array]       | Property filters that select data for this aggregation.                                                                                                                                                              |
| Object 2                 | threshold_aggregation_type                 | string        | Calculation used to evaluate the threshold.                                                                                                                                                                          |
| Object 2                 | threshold_breach_value                     | double        | Value used to determine whether the threshold is breached.                                                                                                                                                           |
| Object 2                 | threshold_comparison_operator              | string        | Operator used to compare the calculated value with the threshold.                                                                                                                                                    |
| Object 2                 | threshold_timeframe_dimension              | string        | Time 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.    |
| Object 2                 | threshold_timeframe_value                  | double        | End of the threshold evaluation window, measured from assignment in the configured time unit.                                                                                                                        |
| Object 2                 | timeframe_end_value                        | double        | End offset of the aggregation window from assignment, in timeframe_unit.                                                                                                                                             |
| Object 2                 | timeframe_start_value                      | double        | Start offset of the aggregation window from assignment, in timeframe_unit.                                                                                                                                           |
| Object 2                 | timeframe_unit                             | string        | Time unit for the aggregation window. Calendar days are measured from midnight on the assignment day. Other units are measured from the assignment time.                                                             |
| Object 2                 | warehouse_metric_measure                   | object        | Optional warehouse measure. Use null when the other measure is selected.                                                                                                                                             |
| warehouse_metric_measure | id [*required*]                       | uuid          | Identifier of the warehouse metric measure.                                                                                                                                                                          |
| Object 2                 | winsor_lower_fixed_value                   | double        | Fixed lower bound used to cap extreme measure values.                                                                                                                                                                |
| Object 2                 | winsor_lower_percentile                    | double        | Percentile used to determine the lower bound for extreme measure values.                                                                                                                                             |
| Object 2                 | winsor_upper_fixed_value                   | double        | Fixed upper bound used to cap extreme measure values.                                                                                                                                                                |
| Object 2                 | winsor_upper_percentile                    | double        | Percentile used to determine the upper bound for extreme measure values.                                                                                                                                             |
| Object 2                 | winsorization_strategy                     | string        | Method used to cap extreme measure values before aggregation.                                                                                                                                                        |
| attributes               | Object 2                                   | object        | Configuration for a percentile metric. Omit numerator_aggregation and denominator_aggregation.                                                                                                                       |
| Object 2                 | data_source_type [*required*]         | enum          | Source of the data backing this metric. Allowed enum values: `DATADOG,DATADOG_REFERENCE_TABLE,CUSTOMER_WAREHOUSE`                                                                                                    |
| Object 2                 | description                                | string        | Description of the metric. Send null to leave it unset.                                                                                                                                                              |
| Object 2                 | desired_change [*required*]           | enum          | Direction of change that represents an improvement for this metric. Allowed enum values: `METRIC_INCREASES,METRIC_DECREASES`                                                                                         |
| Object 2                 | format_as_percent                          | boolean       | Whether results render as a percentage. Defaults to false when omitted.                                                                                                                                              |
| Object 2                 | guardrail_cutoff_threshold                 | double        | Guardrail cutoff threshold. Send null to leave it unset.                                                                                                                                                             |
| Object 2                 | migration_metadata                         |               | Metadata associated with migration of this resource.                                                                                                                                                                 |
| Object 2                 | name [*required*]                     | string        | Name of the metric.                                                                                                                                                                                                  |
| Object 2                 | percentile_aggregation [*required*]   |  <oneOf> | Measure and percentile to calculate for the metric. Supply exactly one non-null measure.                                                                                                                             |
| percentile_aggregation   | Object 1                                   | object        | Settings for a percentile aggregation that uses a Warehouse measure. The other measure must be omitted or null.                                                                                                      |
| Object 1                 | datadog_metric_measure                     | object        | Optional Datadog percentile measure. Use null when the warehouse measure is selected.                                                                                                                                |
| datadog_metric_measure   | column_name [*required*]              | string        | Name of the Datadog event field used by this measure.                                                                                                                                                                |
| datadog_metric_measure   | column_type [*required*]              | string        | Data type of the source column.                                                                                                                                                                                      |
| datadog_metric_measure   | filters                                    |               | Conditions used to select the metric's source data.                                                                                                                                                                  |
| datadog_metric_measure   | name [*required*]                     | string        | Display name of the Datadog measure.                                                                                                                                                                                 |
| datadog_metric_measure   | query                                      | string        | Query used to retrieve the Datadog measure.                                                                                                                                                                          |
| datadog_metric_measure   | source_definition_filter                   |               | Filter applied to the Datadog source definition.                                                                                                                                                                     |
| datadog_metric_measure   | source_subtype [*required*]           | string        | Subtype of the Datadog data source.                                                                                                                                                                                  |
| datadog_metric_measure   | source_type [*required*]              | string        | Type of Datadog data source used for the measure.                                                                                                                                                                    |
| Object 1                 | percentile [*required*]               | double        | Percentile to calculate from the measure values.                                                                                                                                                                     |
| Object 1                 | property_filters                           | [array]       | Property filters that select data for the percentile calculation.                                                                                                                                                    |
| Object 1                 | warehouse_metric_measure [*required*] | object        | Reference to a measure defined in a warehouse metric SQL model.                                                                                                                                                      |
| warehouse_metric_measure | id [*required*]                       | uuid          | Identifier of the warehouse metric measure.                                                                                                                                                                          |
| percentile_aggregation   | Object 2                                   | object        | Settings for a percentile aggregation that uses a Datadog measure. The other measure must be omitted or null.                                                                                                        |
| Object 2                 | datadog_metric_measure [*required*]   | object        | Datadog measure used to calculate a percentile.                                                                                                                                                                      |
| datadog_metric_measure   | column_name [*required*]              | string        | Name of the Datadog event field used by this measure.                                                                                                                                                                |
| datadog_metric_measure   | column_type [*required*]              | string        | Data type of the source column.                                                                                                                                                                                      |
| datadog_metric_measure   | filters                                    |               | Conditions used to select the metric's source data.                                                                                                                                                                  |
| datadog_metric_measure   | name [*required*]                     | string        | Display name of the Datadog measure.                                                                                                                                                                                 |
| datadog_metric_measure   | query                                      | string        | Query used to retrieve the Datadog measure.                                                                                                                                                                          |
| datadog_metric_measure   | source_definition_filter                   |               | Filter applied to the Datadog source definition.                                                                                                                                                                     |
| datadog_metric_measure   | source_subtype [*required*]           | string        | Subtype of the Datadog data source.                                                                                                                                                                                  |
| datadog_metric_measure   | source_type [*required*]              | string        | Type of Datadog data source used for the measure.                                                                                                                                                                    |
| Object 2                 | percentile [*required*]               | double        | Percentile to calculate from the measure values.                                                                                                                                                                     |
| Object 2                 | property_filters                           | [array]       | Property filters that select data for the percentile calculation.                                                                                                                                                    |
| Object 2                 | warehouse_metric_measure                   | object        | Optional warehouse measure. Use null when the other measure is selected.                                                                                                                                             |
| warehouse_metric_measure | id [*required*]                       | uuid          | Identifier of the warehouse metric measure.                                                                                                                                                                          |
| data                     | type [*required*]                     | enum          | The metric resource type. Allowed enum values: `metrics`                                                                                                                                                             |

{% /tab %}

{% tab title="Example" %}

```json
{
  "data": {
    "type": "metrics",
    "attributes": {
      "name": "ex-14bb9543f523edde",
      "data_source_type": "DATADOG",
      "desired_change": "METRIC_INCREASES",
      "numerator_aggregation": {
        "operation": "sum",
        "datadog_metric_measure": {
          "name": "ex-14bb9543f523edde view duration",
          "source_type": "PRODUCT_ANALYTICS",
          "source_subtype": "RUM_VIEWS",
          "column_type": "double",
          "column_name": "@view.time_spent"
        }
      }
    }
  }
}
```

{% /tab %}

### Response

{% tab title="201" %}
Created
{% tab title="Model" %}
Response containing the metric.

| Parent field             | Field                         | Type      | Description                                                                                                                                 |
| ------------------------ | ----------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
|                          | data [*required*]        | object    | JSON:API resource containing the metric identity and fields.                                                                                |
| data                     | attributes                    | object    | Details of the metric.                                                                                                                      |
| attributes               | certified_at                  | date-time | Time when this resource was certified.                                                                                                      |
| attributes               | created_at                    | date-time | Time when this resource was created.                                                                                                        |
| attributes               | data_source_type              | enum      | Source of the data used to calculate the metric. Allowed enum values: `DATADOG,DATADOG_REFERENCE_TABLE,CUSTOMER_WAREHOUSE,IMPORTED,UNKNOWN` |
| attributes               | denominator_aggregation       | object    | Source measure and aggregation settings for a metric value.                                                                                 |
| denominator_aggregation  | aging_threshold_days          | int64     | Stored aging threshold in days. The subject aging filter uses the aggregation window end and unit.                                          |
| denominator_aggregation  | datadog_metric_measure        | object    | Datadog source and query that supply values for the metric.                                                                                 |
| datadog_metric_measure   | column_name                   | string    | Name of the Datadog event field used by this measure.                                                                                       |
| datadog_metric_measure   | column_type                   | string    | Data type of the source column.                                                                                                             |
| datadog_metric_measure   | filters                       |           | Conditions used to select the metric's source data.                                                                                         |
| datadog_metric_measure   | name                          | string    | Display name of the Datadog measure.                                                                                                        |
| datadog_metric_measure   | query                         | string    | Query used to retrieve the Datadog measure.                                                                                                 |
| datadog_metric_measure   | source_definition_filter      |           | Filter applied to the Datadog source definition.                                                                                            |
| datadog_metric_measure   | source_subtype                | string    | Subtype of the Datadog data source.                                                                                                         |
| datadog_metric_measure   | source_type                   | string    | Type of Datadog data source used for the measure.                                                                                           |
| denominator_aggregation  | enable_aging_subject_filter   | boolean   | Whether to exclude subjects whose observation time is shorter than the aggregation window.                                                  |
| denominator_aggregation  | operation                     | string    | Aggregation applied to the selected measure.                                                                                                |
| denominator_aggregation  | pipeline_column_suffix        | string    | Suffix used to identify this value in pipeline output columns.                                                                              |
| denominator_aggregation  | property_filters              | [array]   | Filters applied to the metric aggregation.                                                                                                  |
| denominator_aggregation  | threshold_aggregation_type    | string    | Aggregation used to evaluate the threshold.                                                                                                 |
| denominator_aggregation  | threshold_breach_value        | double    | Value used to determine whether the threshold is breached.                                                                                  |
| denominator_aggregation  | threshold_comparison_operator | string    | Comparison applied between the aggregated value and the threshold.                                                                          |
| denominator_aggregation  | threshold_timeframe_dimension | string    | Time unit used for the threshold evaluation window.                                                                                         |
| denominator_aggregation  | threshold_timeframe_value     | double    | Size of the threshold evaluation window.                                                                                                    |
| denominator_aggregation  | timeframe_end_value           | double    | End of the aggregation window in the specified time unit.                                                                                   |
| denominator_aggregation  | timeframe_start_value         | double    | Start of the aggregation window in the specified time unit.                                                                                 |
| denominator_aggregation  | timeframe_unit                | string    | Time unit used for the aggregation window.                                                                                                  |
| denominator_aggregation  | warehouse_metric_measure      | object    | Warehouse measure that supplies values for the metric.                                                                                      |
| warehouse_metric_measure | id                            | string    | ID of the measure.                                                                                                                          |
| warehouse_metric_measure | pipeline_column_suffix        | string    | Suffix used to identify this value in pipeline output columns.                                                                              |
| denominator_aggregation  | winsor_lower_fixed_value      | double    | Fixed lower bound used to cap metric values.                                                                                                |
| denominator_aggregation  | winsor_lower_percentile       | double    | Percentile used to determine the lower bound for capped metric values.                                                                      |
| denominator_aggregation  | winsor_upper_fixed_value      | double    | Fixed upper bound used to cap metric values.                                                                                                |
| denominator_aggregation  | winsor_upper_percentile       | double    | Percentile used to determine the upper bound for capped metric values.                                                                      |
| denominator_aggregation  | winsorization_strategy        | string    | Method used to cap extreme metric values.                                                                                                   |
| attributes               | description                   | string    | Text that explains the metric.                                                                                                              |
| attributes               | desired_change                | enum      | Direction of metric change considered desirable. Allowed enum values: `METRIC_INCREASES,METRIC_DECREASES,UNKNOWN`                           |
| attributes               | experiment_count              | int64     | Number of experiments that reference this resource.                                                                                         |
| attributes               | format_as_percent             | boolean   | Whether to display the metric value as a percentage.                                                                                        |
| attributes               | guardrail_cutoff_threshold    | double    | Threshold used when evaluating this metric as a guardrail.                                                                                  |
| attributes               | metric_type                   | enum      | Type of metric calculation. Allowed enum values: `SIMPLE,RATIO,PERCENTILE,UNKNOWN`                                                          |
| attributes               | migration_metadata            |           | Metadata retained for resources imported from another system.                                                                               |
| attributes               | name                          | string    | Display name of the metric.                                                                                                                 |
| attributes               | numerator_aggregation         | object    | Source measure and aggregation settings for a metric value.                                                                                 |
| numerator_aggregation    | aging_threshold_days          | int64     | Stored aging threshold in days. The subject aging filter uses the aggregation window end and unit.                                          |
| numerator_aggregation    | datadog_metric_measure        | object    | Datadog source and query that supply values for the metric.                                                                                 |
| datadog_metric_measure   | column_name                   | string    | Name of the Datadog event field used by this measure.                                                                                       |
| datadog_metric_measure   | column_type                   | string    | Data type of the source column.                                                                                                             |
| datadog_metric_measure   | filters                       |           | Conditions used to select the metric's source data.                                                                                         |
| datadog_metric_measure   | name                          | string    | Display name of the Datadog measure.                                                                                                        |
| datadog_metric_measure   | query                         | string    | Query used to retrieve the Datadog measure.                                                                                                 |
| datadog_metric_measure   | source_definition_filter      |           | Filter applied to the Datadog source definition.                                                                                            |
| datadog_metric_measure   | source_subtype                | string    | Subtype of the Datadog data source.                                                                                                         |
| datadog_metric_measure   | source_type                   | string    | Type of Datadog data source used for the measure.                                                                                           |
| numerator_aggregation    | enable_aging_subject_filter   | boolean   | Whether to exclude subjects whose observation time is shorter than the aggregation window.                                                  |
| numerator_aggregation    | operation                     | string    | Aggregation applied to the selected measure.                                                                                                |
| numerator_aggregation    | pipeline_column_suffix        | string    | Suffix used to identify this value in pipeline output columns.                                                                              |
| numerator_aggregation    | property_filters              | [array]   | Filters applied to the metric aggregation.                                                                                                  |
| numerator_aggregation    | threshold_aggregation_type    | string    | Aggregation used to evaluate the threshold.                                                                                                 |
| numerator_aggregation    | threshold_breach_value        | double    | Value used to determine whether the threshold is breached.                                                                                  |
| numerator_aggregation    | threshold_comparison_operator | string    | Comparison applied between the aggregated value and the threshold.                                                                          |
| numerator_aggregation    | threshold_timeframe_dimension | string    | Time unit used for the threshold evaluation window.                                                                                         |
| numerator_aggregation    | threshold_timeframe_value     | double    | Size of the threshold evaluation window.                                                                                                    |
| numerator_aggregation    | timeframe_end_value           | double    | End of the aggregation window in the specified time unit.                                                                                   |
| numerator_aggregation    | timeframe_start_value         | double    | Start of the aggregation window in the specified time unit.                                                                                 |
| numerator_aggregation    | timeframe_unit                | string    | Time unit used for the aggregation window.                                                                                                  |
| numerator_aggregation    | warehouse_metric_measure      | object    | Warehouse measure that supplies values for the metric.                                                                                      |
| warehouse_metric_measure | id                            | string    | ID of the measure.                                                                                                                          |
| warehouse_metric_measure | pipeline_column_suffix        | string    | Suffix used to identify this value in pipeline output columns.                                                                              |
| numerator_aggregation    | winsor_lower_fixed_value      | double    | Fixed lower bound used to cap metric values.                                                                                                |
| numerator_aggregation    | winsor_lower_percentile       | double    | Percentile used to determine the lower bound for capped metric values.                                                                      |
| numerator_aggregation    | winsor_upper_fixed_value      | double    | Fixed upper bound used to cap metric values.                                                                                                |
| numerator_aggregation    | winsor_upper_percentile       | double    | Percentile used to determine the upper bound for capped metric values.                                                                      |
| numerator_aggregation    | winsorization_strategy        | string    | Method used to cap extreme metric values.                                                                                                   |
| attributes               | percentile_aggregation        | object    | Source measure and settings for a percentile metric.                                                                                        |
| percentile_aggregation   | datadog_metric_measure        | object    | Datadog source and query that supply values for the metric.                                                                                 |
| datadog_metric_measure   | column_name                   | string    | Name of the Datadog event field used by this measure.                                                                                       |
| datadog_metric_measure   | column_type                   | string    | Data type of the source column.                                                                                                             |
| datadog_metric_measure   | filters                       |           | Conditions used to select the metric's source data.                                                                                         |
| datadog_metric_measure   | name                          | string    | Display name of the Datadog measure.                                                                                                        |
| datadog_metric_measure   | query                         | string    | Query used to retrieve the Datadog measure.                                                                                                 |
| datadog_metric_measure   | source_definition_filter      |           | Filter applied to the Datadog source definition.                                                                                            |
| datadog_metric_measure   | source_subtype                | string    | Subtype of the Datadog data source.                                                                                                         |
| datadog_metric_measure   | source_type                   | string    | Type of Datadog data source used for the measure.                                                                                           |
| percentile_aggregation   | percentile                    | double    | Percentile calculated from the selected measure.                                                                                            |
| percentile_aggregation   | pipeline_column_suffix        | string    | Suffix used to identify this value in pipeline output columns.                                                                              |
| percentile_aggregation   | property_filters              | [array]   | Filters applied to the metric aggregation.                                                                                                  |
| percentile_aggregation   | warehouse_metric_measure      | object    | Warehouse measure that supplies values for the metric.                                                                                      |
| warehouse_metric_measure | id                            | string    | ID of the measure.                                                                                                                          |
| warehouse_metric_measure | pipeline_column_suffix        | string    | Suffix used to identify this value in pipeline output columns.                                                                              |
| attributes               | reference_url                 | string    | URL with supporting information about the metric.                                                                                           |
| attributes               | updated_at                    | date-time | Time when this resource was last updated.                                                                                                   |
| data                     | id [*required*]          | uuid      | ID of the metric.                                                                                                                           |
| data                     | type [*required*]        | enum      | The metric resource type. Allowed enum values: `metrics`                                                                                    |

{% /tab %}

{% tab title="Example" %}

```json
{
  "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"
  }
}
```

{% /tab %}

{% /tab %}

{% tab title="400" %}
Malformed body, validation failure, or an aggregation that does not match metric_type.
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="401" %}
Missing or invalid authentication.
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="403" %}
Caller lacks product_analytics_metrics_write.
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="409" %}
Another metric in this organization already uses one of these values.
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="415" %}
Request body sent with a media type other than application/json or application/vnd.api+json.
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="429" %}
Too many requests
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

### Code Example

##### 
                          \## default
# 
 \# Use a Personal Access Token or Service Access Token export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"  \# Curl command curl -X POST "https://api.datadoghq.com/api/v2/experiments/metrics" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "data_source_type": "CUSTOMER_WAREHOUSE",
      "description": null,
      "desired_change": "METRIC_INCREASES",
      "format_as_percent": true,
      "guardrail_cutoff_threshold": null,
      "name": "Checkout conversion",
      "numerator_aggregation": {
        "operation": "sum",
        "property_filters": [
          [
            {
              "operation": "IS",
              "property_id": "550e8400-e29b-41d4-a716-446655440023",
              "values": [
                "US"
              ]
            }
          ]
        ],
        "timeframe_start_value": 0,
        "warehouse_metric_measure": {
          "id": "550e8400-e29b-41d4-a716-446655440021"
        }
      }
    },
    "type": "metrics"
  }
}
EOF 
                        
{% /tab %}
