For AI agents: A markdown version of this page is available at https://dnd37xeb23o8n.cloudfront.net/jen.gilbert/astro-base/api/latest/cloud-cost-management/create-a-unit-cost.md. A documentation index is available at /llms.txt.
Language
Datadog site

Create a unit cost

WARNINGNote: This endpoint is in preview and is subject to change. If you have any feedback, contact Datadog support.
POSThttps://api.datadoghq.com/api/v2/cost/unit_costshttps://api.us3.datadoghq.com/api/v2/cost/unit_costshttps://api.us5.datadoghq.com/api/v2/cost/unit_costshttps://api.datadoghq.eu/api/v2/cost/unit_costshttps://api.ap1.datadoghq.com/api/v2/cost/unit_costshttps://api.ap2.datadoghq.com/api/v2/cost/unit_costshttps://api.uk1.datadoghq.com/api/v2/cost/unit_costshttps://api.ddog-gov.com/api/v2/cost/unit_costshttps://api.us2.ddog-gov.com/api/v2/cost/unit_costs

Overview

Create an ROI metric (unit cost) using the given numerator and denominator queries.

This endpoint requires the cloud_cost_management_read permission.

Request

Body Data (required)

Field
Type
Description
data [required]
object

The data object of a unit cost create request.

Response

Created

A response containing a single unit cost.

Field
Type
Description
data [required]
object

The data object of a unit cost response.

Code Example

Create a unit cost
# 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 POST "https://api.${DD_SITE}/api/v2/cost/unit_costs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "denominator_query": {
        "formulas": [
          {
            "formula": "denominator"
          }
        ],
        "queries": [
          {
            "data_source": "metrics",
            "name": "denominator",
            "query": "avg:system.cpu.user{*}"
          }
        ],
        "response_format": "timeseries"
      },
      "name": "Cloud cost per active user",
      "numerator_query": {
        "formulas": [
          {
            "formula": "numerator"
          }
        ],
        "queries": [
          {
            "data_source": "cloud_cost",
            "name": "numerator",
            "query": "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"
          }
        ],
        "response_format": "timeseries"
      },
      "unit_label": "user"
    },
    "type": "unit_cost"
  }
}
EOF
# 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 POST "https://api.${DD_SITE}/api/v2/cost/unit_costs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "denominator_query": {
        "formulas": [
          {
            "formula": "denominator"
          }
        ],
        "queries": [
          {
            "data_source": "metrics",
            "name": "denominator",
            "query": "avg:system.cpu.user{*}"
          }
        ],
        "response_format": "timeseries"
      },
      "name": "Cloud cost per active user",
      "numerator_query": {
        "formulas": [
          {
            "formula": "numerator"
          }
        ],
        "queries": [
          {
            "data_source": "cloud_cost",
            "name": "numerator",
            "query": "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"
          }
        ],
        "response_format": "timeseries"
      },
      "unit_label": "user"
    },
    "type": "unit_cost"
  }
}
EOF
# 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 POST "https://api.${DD_SITE}/api/v2/cost/unit_costs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "denominator_query": {
        "formulas": [
          {
            "formula": "denominator"
          }
        ],
        "queries": [
          {
            "data_source": "metrics",
            "name": "denominator",
            "query": "avg:system.cpu.user{*}"
          }
        ],
        "response_format": "timeseries"
      },
      "name": "Cloud cost per active user",
      "numerator_query": {
        "formulas": [
          {
            "formula": "numerator"
          }
        ],
        "queries": [
          {
            "data_source": "cloud_cost",
            "name": "numerator",
            "query": "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"
          }
        ],
        "response_format": "timeseries"
      },
      "unit_label": "user"
    },
    "type": "unit_cost"
  }
}
EOF
# 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 POST "https://api.${DD_SITE}/api/v2/cost/unit_costs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "denominator_query": {
        "formulas": [
          {
            "formula": "denominator"
          }
        ],
        "queries": [
          {
            "data_source": "metrics",
            "name": "denominator",
            "query": "avg:system.cpu.user{*}"
          }
        ],
        "response_format": "timeseries"
      },
      "name": "Cloud cost per active user",
      "numerator_query": {
        "formulas": [
          {
            "formula": "numerator"
          }
        ],
        "queries": [
          {
            "data_source": "cloud_cost",
            "name": "numerator",
            "query": "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"
          }
        ],
        "response_format": "timeseries"
      },
      "unit_label": "user"
    },
    "type": "unit_cost"
  }
}
EOF
# 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 POST "https://api.${DD_SITE}/api/v2/cost/unit_costs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "denominator_query": {
        "formulas": [
          {
            "formula": "denominator"
          }
        ],
        "queries": [
          {
            "data_source": "metrics",
            "name": "denominator",
            "query": "avg:system.cpu.user{*}"
          }
        ],
        "response_format": "timeseries"
      },
      "name": "Cloud cost per active user",
      "numerator_query": {
        "formulas": [
          {
            "formula": "numerator"
          }
        ],
        "queries": [
          {
            "data_source": "cloud_cost",
            "name": "numerator",
            "query": "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"
          }
        ],
        "response_format": "timeseries"
      },
      "unit_label": "user"
    },
    "type": "unit_cost"
  }
}
EOF
# 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 POST "https://api.${DD_SITE}/api/v2/cost/unit_costs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "denominator_query": {
        "formulas": [
          {
            "formula": "denominator"
          }
        ],
        "queries": [
          {
            "data_source": "metrics",
            "name": "denominator",
            "query": "avg:system.cpu.user{*}"
          }
        ],
        "response_format": "timeseries"
      },
      "name": "Cloud cost per active user",
      "numerator_query": {
        "formulas": [
          {
            "formula": "numerator"
          }
        ],
        "queries": [
          {
            "data_source": "cloud_cost",
            "name": "numerator",
            "query": "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"
          }
        ],
        "response_format": "timeseries"
      },
      "unit_label": "user"
    },
    "type": "unit_cost"
  }
}
EOF
# 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 POST "https://api.${DD_SITE}/api/v2/cost/unit_costs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "denominator_query": {
        "formulas": [
          {
            "formula": "denominator"
          }
        ],
        "queries": [
          {
            "data_source": "metrics",
            "name": "denominator",
            "query": "avg:system.cpu.user{*}"
          }
        ],
        "response_format": "timeseries"
      },
      "name": "Cloud cost per active user",
      "numerator_query": {
        "formulas": [
          {
            "formula": "numerator"
          }
        ],
        "queries": [
          {
            "data_source": "cloud_cost",
            "name": "numerator",
            "query": "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"
          }
        ],
        "response_format": "timeseries"
      },
      "unit_label": "user"
    },
    "type": "unit_cost"
  }
}
EOF
# 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 POST "https://api.${DD_SITE}/api/v2/cost/unit_costs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "denominator_query": {
        "formulas": [
          {
            "formula": "denominator"
          }
        ],
        "queries": [
          {
            "data_source": "metrics",
            "name": "denominator",
            "query": "avg:system.cpu.user{*}"
          }
        ],
        "response_format": "timeseries"
      },
      "name": "Cloud cost per active user",
      "numerator_query": {
        "formulas": [
          {
            "formula": "numerator"
          }
        ],
        "queries": [
          {
            "data_source": "cloud_cost",
            "name": "numerator",
            "query": "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"
          }
        ],
        "response_format": "timeseries"
      },
      "unit_label": "user"
    },
    "type": "unit_cost"
  }
}
EOF
# 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 POST "https://api.${DD_SITE}/api/v2/cost/unit_costs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "denominator_query": {
        "formulas": [
          {
            "formula": "denominator"
          }
        ],
        "queries": [
          {
            "data_source": "metrics",
            "name": "denominator",
            "query": "avg:system.cpu.user{*}"
          }
        ],
        "response_format": "timeseries"
      },
      "name": "Cloud cost per active user",
      "numerator_query": {
        "formulas": [
          {
            "formula": "numerator"
          }
        ],
        "queries": [
          {
            "data_source": "cloud_cost",
            "name": "numerator",
            "query": "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"
          }
        ],
        "response_format": "timeseries"
      },
      "unit_label": "user"
    },
    "type": "unit_cost"
  }
}
EOF