External Costs API

External Costs can only be queried after you have configured at least one external service with Kubecost. You can learn how to integrate Datadog through this method in our External Costs doc.

External Costs API summary query

GET http://<your-kubecost-address>/model/customCost/timeseries

Samples costs of connected third party services

Path Parameters

NameTypeDescription

window*

String

aggregate

String

Field by which to aggregate the results. Accepts: zone, accountName, chargeCategory, description, resourceName, resourceType, providerId, usageUnit, domain, and costSource. Supports multi-aggregation using comma-separated lists. Example: aggregate=zone,description

accumulate

boolean

When set to false, this endpoint returns daily time series data vs cumulative data. Default value is false.

filter

String

{
    "code": 200,
    "data": {
        "window": {
            "start": "2024-04-07T00:00:00Z",
            "end": "2024-04-09T00:00:00Z"
        },
        "timeseries": [
            {
                "window": {
                    "start": "2024-04-07T00:00:00Z",
                    "end": "2024-04-07T01:00:00Z"
                },
                "totalBilledCost": 0,
                "totalListCost": 0,
                "customCosts": [
                    {
                        "id": "",
                        "zone": "",
                        "account_name": "",
                        "charge_category": "",
                        "description": "",
                        "resource_name": "",
                        "resource_type": "",
                        "provider_id": "",
                        "billedCost": 0,
                        "listCost": 0,
                        "list_unit_price": 0,
                        "usage_quantity": 0,
                        "usage_unit": "",
                        "domain": "datadog",
                        "cost_source": "observability",
                        "aggregate": "__unallocated__/__unallocated__/__unallocated__/__unallocated__/__unallocated__/__unallocated__/__unallocated__/__unallocated__/datadog/observability"
                    }
                ]
            },
        ],
    }

External Costs API total query

GET http://<your-kubecost-address>/model/customCost/total

Samples costs of connected third party services, but summarizes subwindows into singular window of total cost. Can be compared to /topline endpoint of other APIs.

Path Parameters

NameTypeDescription

window*

String

aggregate

String

Field by which to aggregate the results. Accepts: zone, accountName, chargeCategory, description, resourceName, resourceType, providerId, usageUnit, domain, and costSource. Supports multi-aggregation using comma-separated lists. Example: aggregate=zone,description

accumulate

boolean

When set to false, this endpoint returns daily time series data vs cumulative data. Default value is false.

filter

String

{
    "code": 200,
    "data": {
        "window": {
            "start": "2024-04-07T00:00:00Z",
            "end": "2024-04-09T00:00:00Z"
        },
        "totalBilledCost": 0,
        "totalListCost": 0,
        "customCosts": [
            {
                "id": "",
                "zone": "",
                "account_name": "",
                "charge_category": "",
                "description": "",
                "resource_name": "",
                "resource_type": "",
                "provider_id": "",
                "billedCost": 0,
                "listCost": 0,
                "list_unit_price": 0,
                "usage_quantity": 0,
                "usage_unit": "",
                "domain": "datadog",
                "cost_source": "observability",
                "aggregate": "__unallocated__/__unallocated__/__unallocated__/__unallocated__/__unallocated__/__unallocated__/__unallocated__/__unallocated__/datadog/observability"
            }
        ]
    }
}

Last updated