Cost and billing
Get accumulated asset cost over a time window
Retrieve accumulated asset cost v2
GET
/
api
/
cost
/
v2
/
asset
/
accumulated
Get accumulated asset cost over a time window
curl --request GET \
--url https://mycluster.domino.tech/api/cost/v2/asset/accumulated \
--header 'X-Domino-Api-Key: <api-key>'import requests
url = "https://mycluster.domino.tech/api/cost/v2/asset/accumulated"
headers = {"X-Domino-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Domino-Api-Key': '<api-key>'}};
fetch('https://mycluster.domino.tech/api/cost/v2/asset/accumulated', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mycluster.domino.tech/api/cost/v2/asset/accumulated",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Domino-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://mycluster.domino.tech/api/cost/v2/asset/accumulated"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Domino-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://mycluster.domino.tech/api/cost/v2/asset/accumulated")
.header("X-Domino-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/api/cost/v2/asset/accumulated")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Domino-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"adjustment": 123,
"assetProperties": {},
"assetType": "<string>",
"byte": {
"breakdown": {
"idle": 123,
"other": 123,
"system": 123,
"user": 123
},
"count": 123,
"hours": 123,
"hoursUsed": 123,
"usageMax": 123
},
"cpu": {
"breakdown": {
"idle": 123,
"other": 123,
"system": 123,
"user": 123
},
"coreHours": 123,
"cores": 123,
"cost": 123
},
"discount": 123,
"end": "<string>",
"gpu": {
"cost": 123,
"count": 123,
"hours": 123
},
"key": {},
"labels": {
"instance": "<string>",
"job": "<string>",
"label_dominodatalab_com_domino_node": "<string>",
"label_dominodatalab_com_node_pool": "<string>"
},
"minutes": 123,
"overhead": {
"CpuOverheadFraction": 123,
"OverheadCostFraction": 123,
"RamOverheadFraction": 123
},
"preemptible": 123,
"ram": {
"breakdown": {
"idle": 123,
"other": 123,
"system": 123,
"user": 123
},
"byteHours": 123,
"bytes": 123,
"cost": 123
},
"start": "<string>",
"storage": {
"claimName": "<string>",
"claimNamespace": "<string>",
"class": "<string>",
"nodeType": "<string>",
"pool": "<string>",
"volumeName": "<string>"
},
"totalCost": 123,
"window": {
"end": "<string>",
"start": "<string>"
}
}
]
}{
"error": "<string>"
}{
"code": "UNAUTHORIZED",
"message": "Authentication is required to access this resource."
}{
"code": "FORBIDDEN",
"message": "You do not have permission to perform this action."
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
DominoApiKeyBearerAuthentication
Query Parameters
Duration of time over which to query. Accepts words like today, week, month, yesterday, lastweek, lastmonth; durations like 30m, 12h, 7d, or time like 2021-03-10T00:00:00Z,2021-03-11T00:00:00Z
Aggregate the cost allocation. Accepts kubecost aggregates cluster, namespace, pod, deployment, service, daemonset, statefulset, job, cronjob, replicaset, node, container, pv, pvc, storageclass, cluster
Interval to accumulate the costs. Accepts hour, day, week
filter the result by the kubecost filter like cluster, namespace, pod, deployment, service, daemonset, statefulset
Max number of rows to fetch. Defaults to 1000.
How many rows from the start to skip. Defaults to 0.
Response
Success
Show child attributes
Show child attributes
Last modified on September 3, 2026
Was this page helpful?
⌘I
Get accumulated asset cost over a time window
curl --request GET \
--url https://mycluster.domino.tech/api/cost/v2/asset/accumulated \
--header 'X-Domino-Api-Key: <api-key>'import requests
url = "https://mycluster.domino.tech/api/cost/v2/asset/accumulated"
headers = {"X-Domino-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Domino-Api-Key': '<api-key>'}};
fetch('https://mycluster.domino.tech/api/cost/v2/asset/accumulated', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mycluster.domino.tech/api/cost/v2/asset/accumulated",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Domino-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://mycluster.domino.tech/api/cost/v2/asset/accumulated"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Domino-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://mycluster.domino.tech/api/cost/v2/asset/accumulated")
.header("X-Domino-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/api/cost/v2/asset/accumulated")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Domino-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"adjustment": 123,
"assetProperties": {},
"assetType": "<string>",
"byte": {
"breakdown": {
"idle": 123,
"other": 123,
"system": 123,
"user": 123
},
"count": 123,
"hours": 123,
"hoursUsed": 123,
"usageMax": 123
},
"cpu": {
"breakdown": {
"idle": 123,
"other": 123,
"system": 123,
"user": 123
},
"coreHours": 123,
"cores": 123,
"cost": 123
},
"discount": 123,
"end": "<string>",
"gpu": {
"cost": 123,
"count": 123,
"hours": 123
},
"key": {},
"labels": {
"instance": "<string>",
"job": "<string>",
"label_dominodatalab_com_domino_node": "<string>",
"label_dominodatalab_com_node_pool": "<string>"
},
"minutes": 123,
"overhead": {
"CpuOverheadFraction": 123,
"OverheadCostFraction": 123,
"RamOverheadFraction": 123
},
"preemptible": 123,
"ram": {
"breakdown": {
"idle": 123,
"other": 123,
"system": 123,
"user": 123
},
"byteHours": 123,
"bytes": 123,
"cost": 123
},
"start": "<string>",
"storage": {
"claimName": "<string>",
"claimNamespace": "<string>",
"class": "<string>",
"nodeType": "<string>",
"pool": "<string>",
"volumeName": "<string>"
},
"totalCost": 123,
"window": {
"end": "<string>",
"start": "<string>"
}
}
]
}{
"error": "<string>"
}{
"code": "UNAUTHORIZED",
"message": "Authentication is required to access this resource."
}{
"code": "FORBIDDEN",
"message": "You do not have permission to perform this action."
}{
"error": "<string>"
}{
"error": "<string>"
}