curl --request POST \
--url https://api.gcore.com/cloud/v1/cost_report/totals \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"projects": [
16,
17,
18,
19,
20
],
"regions": [
18,
76
],
"response_format": "json",
"schema_filter": {
"field": "flavor",
"type": "instance",
"values": [
"g1-standard-1-2"
]
},
"tags": {
"condition_type": "OR",
"conditions": [
{
"key": "os_version",
"strict": true,
"value": "22.04"
},
{
"key": "os_version",
"strict": true,
"value": "23.04"
}
]
},
"time_from": "2024-08-01T00:00:00",
"time_to": "2024-09-01T00:00:00",
"types": [
"egress_traffic",
"instance"
]
}
'import requests
url = "https://api.gcore.com/cloud/v1/cost_report/totals"
payload = {
"projects": [16, 17, 18, 19, 20],
"regions": [18, 76],
"response_format": "json",
"schema_filter": {
"field": "flavor",
"type": "instance",
"values": ["g1-standard-1-2"]
},
"tags": {
"condition_type": "OR",
"conditions": [
{
"key": "os_version",
"strict": True,
"value": "22.04"
},
{
"key": "os_version",
"strict": True,
"value": "23.04"
}
]
},
"time_from": "2024-08-01T00:00:00",
"time_to": "2024-09-01T00:00:00",
"types": ["egress_traffic", "instance"]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
projects: [16, 17, 18, 19, 20],
regions: [18, 76],
response_format: 'json',
schema_filter: {field: 'flavor', type: 'instance', values: ['g1-standard-1-2']},
tags: {
condition_type: 'OR',
conditions: [
{key: 'os_version', strict: true, value: '22.04'},
{key: 'os_version', strict: true, value: '23.04'}
]
},
time_from: '2024-08-01T00:00:00',
time_to: '2024-09-01T00:00:00',
types: ['egress_traffic', 'instance']
})
};
fetch('https://api.gcore.com/cloud/v1/cost_report/totals', 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://api.gcore.com/cloud/v1/cost_report/totals",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'projects' => [
16,
17,
18,
19,
20
],
'regions' => [
18,
76
],
'response_format' => 'json',
'schema_filter' => [
'field' => 'flavor',
'type' => 'instance',
'values' => [
'g1-standard-1-2'
]
],
'tags' => [
'condition_type' => 'OR',
'conditions' => [
[
'key' => 'os_version',
'strict' => true,
'value' => '22.04'
],
[
'key' => 'os_version',
'strict' => true,
'value' => '23.04'
]
]
],
'time_from' => '2024-08-01T00:00:00',
'time_to' => '2024-09-01T00:00:00',
'types' => [
'egress_traffic',
'instance'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gcore.com/cloud/v1/cost_report/totals"
payload := strings.NewReader("{\n \"projects\": [\n 16,\n 17,\n 18,\n 19,\n 20\n ],\n \"regions\": [\n 18,\n 76\n ],\n \"response_format\": \"json\",\n \"schema_filter\": {\n \"field\": \"flavor\",\n \"type\": \"instance\",\n \"values\": [\n \"g1-standard-1-2\"\n ]\n },\n \"tags\": {\n \"condition_type\": \"OR\",\n \"conditions\": [\n {\n \"key\": \"os_version\",\n \"strict\": true,\n \"value\": \"22.04\"\n },\n {\n \"key\": \"os_version\",\n \"strict\": true,\n \"value\": \"23.04\"\n }\n ]\n },\n \"time_from\": \"2024-08-01T00:00:00\",\n \"time_to\": \"2024-09-01T00:00:00\",\n \"types\": [\n \"egress_traffic\",\n \"instance\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/cloud/v1/cost_report/totals")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"projects\": [\n 16,\n 17,\n 18,\n 19,\n 20\n ],\n \"regions\": [\n 18,\n 76\n ],\n \"response_format\": \"json\",\n \"schema_filter\": {\n \"field\": \"flavor\",\n \"type\": \"instance\",\n \"values\": [\n \"g1-standard-1-2\"\n ]\n },\n \"tags\": {\n \"condition_type\": \"OR\",\n \"conditions\": [\n {\n \"key\": \"os_version\",\n \"strict\": true,\n \"value\": \"22.04\"\n },\n {\n \"key\": \"os_version\",\n \"strict\": true,\n \"value\": \"23.04\"\n }\n ]\n },\n \"time_from\": \"2024-08-01T00:00:00\",\n \"time_to\": \"2024-09-01T00:00:00\",\n \"types\": [\n \"egress_traffic\",\n \"instance\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v1/cost_report/totals")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"projects\": [\n 16,\n 17,\n 18,\n 19,\n 20\n ],\n \"regions\": [\n 18,\n 76\n ],\n \"response_format\": \"json\",\n \"schema_filter\": {\n \"field\": \"flavor\",\n \"type\": \"instance\",\n \"values\": [\n \"g1-standard-1-2\"\n ]\n },\n \"tags\": {\n \"condition_type\": \"OR\",\n \"conditions\": [\n {\n \"key\": \"os_version\",\n \"strict\": true,\n \"value\": \"22.04\"\n },\n {\n \"key\": \"os_version\",\n \"strict\": true,\n \"value\": \"23.04\"\n }\n ]\n },\n \"time_from\": \"2024-08-01T00:00:00\",\n \"time_to\": \"2024-09-01T00:00:00\",\n \"types\": [\n \"egress_traffic\",\n \"instance\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"count": 1,
"price_status": "error",
"results": [
{
"billing_feature_name": "AI Infrastructure: bm3-ai-1xlarge-h100-80-8 (2 x Intel Xeon 8480+, 2TB RAM, 8x3.84 TB NVMe, 8x Nvidia H100, IB 3.2 Tbit/s, 2x100Gbit/s Ethernet) Luxembourg-2 - PAYG",
"billing_metric_name": "bm3-ai-1xlarge-h100-80-8_min",
"billing_value": 1000,
"billing_value_unit": "minutes",
"cost": 1000,
"currency": "EUR",
"err": null,
"flavor": "bm3-ai-1xlarge-h100-80-8",
"region": 76,
"region_id": 76,
"type": "ai_cluster"
}
]
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}Get cost report totals (pay-as-you-go only)
Deprecated Use /v2/cost_report/breakdown instead.
The v2 report is different from this report:
- This report returns one row for each billing metric and region for the full period. The v2 report
returns one row for each day and one
group_byvalue. - The v2 report moves
billing_value,billing_value_unit,costandcurrencytousage.value,usage.unit,usage.costandusage.currency. Theerrfield iserror. - The v2
flavorfield also contains thevolume_type,file_share_typeandinstance_typevalues. - The v2 report has no
billing_metric_nameandbilling_feature_namefields. - The v2 request uses
region_idsandproject_ids. It has noschema_filterandroundingfields.
Get cost report totals (aggregated costs) for a given period. Requested period should not exceed 31 days.
Note: This report assumes there are no active commit features in the billing plan.
If there are active commit features (pre-paid resources) in your plan, use /v1/reservation_cost_report/totals,
as the results from this report will not be accurate.
Data from the past hour may not reflect the full set of statistics. For the most complete and accurate results, we recommend accessing the data at least one hour after the relevant time period. Updates are generally available within a 24-hour window, though timing can vary. Scheduled maintenance or other exceptions may occasionally cause delays beyond 24 hours.
curl --request POST \
--url https://api.gcore.com/cloud/v1/cost_report/totals \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"projects": [
16,
17,
18,
19,
20
],
"regions": [
18,
76
],
"response_format": "json",
"schema_filter": {
"field": "flavor",
"type": "instance",
"values": [
"g1-standard-1-2"
]
},
"tags": {
"condition_type": "OR",
"conditions": [
{
"key": "os_version",
"strict": true,
"value": "22.04"
},
{
"key": "os_version",
"strict": true,
"value": "23.04"
}
]
},
"time_from": "2024-08-01T00:00:00",
"time_to": "2024-09-01T00:00:00",
"types": [
"egress_traffic",
"instance"
]
}
'import requests
url = "https://api.gcore.com/cloud/v1/cost_report/totals"
payload = {
"projects": [16, 17, 18, 19, 20],
"regions": [18, 76],
"response_format": "json",
"schema_filter": {
"field": "flavor",
"type": "instance",
"values": ["g1-standard-1-2"]
},
"tags": {
"condition_type": "OR",
"conditions": [
{
"key": "os_version",
"strict": True,
"value": "22.04"
},
{
"key": "os_version",
"strict": True,
"value": "23.04"
}
]
},
"time_from": "2024-08-01T00:00:00",
"time_to": "2024-09-01T00:00:00",
"types": ["egress_traffic", "instance"]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
projects: [16, 17, 18, 19, 20],
regions: [18, 76],
response_format: 'json',
schema_filter: {field: 'flavor', type: 'instance', values: ['g1-standard-1-2']},
tags: {
condition_type: 'OR',
conditions: [
{key: 'os_version', strict: true, value: '22.04'},
{key: 'os_version', strict: true, value: '23.04'}
]
},
time_from: '2024-08-01T00:00:00',
time_to: '2024-09-01T00:00:00',
types: ['egress_traffic', 'instance']
})
};
fetch('https://api.gcore.com/cloud/v1/cost_report/totals', 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://api.gcore.com/cloud/v1/cost_report/totals",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'projects' => [
16,
17,
18,
19,
20
],
'regions' => [
18,
76
],
'response_format' => 'json',
'schema_filter' => [
'field' => 'flavor',
'type' => 'instance',
'values' => [
'g1-standard-1-2'
]
],
'tags' => [
'condition_type' => 'OR',
'conditions' => [
[
'key' => 'os_version',
'strict' => true,
'value' => '22.04'
],
[
'key' => 'os_version',
'strict' => true,
'value' => '23.04'
]
]
],
'time_from' => '2024-08-01T00:00:00',
'time_to' => '2024-09-01T00:00:00',
'types' => [
'egress_traffic',
'instance'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gcore.com/cloud/v1/cost_report/totals"
payload := strings.NewReader("{\n \"projects\": [\n 16,\n 17,\n 18,\n 19,\n 20\n ],\n \"regions\": [\n 18,\n 76\n ],\n \"response_format\": \"json\",\n \"schema_filter\": {\n \"field\": \"flavor\",\n \"type\": \"instance\",\n \"values\": [\n \"g1-standard-1-2\"\n ]\n },\n \"tags\": {\n \"condition_type\": \"OR\",\n \"conditions\": [\n {\n \"key\": \"os_version\",\n \"strict\": true,\n \"value\": \"22.04\"\n },\n {\n \"key\": \"os_version\",\n \"strict\": true,\n \"value\": \"23.04\"\n }\n ]\n },\n \"time_from\": \"2024-08-01T00:00:00\",\n \"time_to\": \"2024-09-01T00:00:00\",\n \"types\": [\n \"egress_traffic\",\n \"instance\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/cloud/v1/cost_report/totals")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"projects\": [\n 16,\n 17,\n 18,\n 19,\n 20\n ],\n \"regions\": [\n 18,\n 76\n ],\n \"response_format\": \"json\",\n \"schema_filter\": {\n \"field\": \"flavor\",\n \"type\": \"instance\",\n \"values\": [\n \"g1-standard-1-2\"\n ]\n },\n \"tags\": {\n \"condition_type\": \"OR\",\n \"conditions\": [\n {\n \"key\": \"os_version\",\n \"strict\": true,\n \"value\": \"22.04\"\n },\n {\n \"key\": \"os_version\",\n \"strict\": true,\n \"value\": \"23.04\"\n }\n ]\n },\n \"time_from\": \"2024-08-01T00:00:00\",\n \"time_to\": \"2024-09-01T00:00:00\",\n \"types\": [\n \"egress_traffic\",\n \"instance\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v1/cost_report/totals")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"projects\": [\n 16,\n 17,\n 18,\n 19,\n 20\n ],\n \"regions\": [\n 18,\n 76\n ],\n \"response_format\": \"json\",\n \"schema_filter\": {\n \"field\": \"flavor\",\n \"type\": \"instance\",\n \"values\": [\n \"g1-standard-1-2\"\n ]\n },\n \"tags\": {\n \"condition_type\": \"OR\",\n \"conditions\": [\n {\n \"key\": \"os_version\",\n \"strict\": true,\n \"value\": \"22.04\"\n },\n {\n \"key\": \"os_version\",\n \"strict\": true,\n \"value\": \"23.04\"\n }\n ]\n },\n \"time_from\": \"2024-08-01T00:00:00\",\n \"time_to\": \"2024-09-01T00:00:00\",\n \"types\": [\n \"egress_traffic\",\n \"instance\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"count": 1,
"price_status": "error",
"results": [
{
"billing_feature_name": "AI Infrastructure: bm3-ai-1xlarge-h100-80-8 (2 x Intel Xeon 8480+, 2TB RAM, 8x3.84 TB NVMe, 8x Nvidia H100, IB 3.2 Tbit/s, 2x100Gbit/s Ethernet) Luxembourg-2 - PAYG",
"billing_metric_name": "bm3-ai-1xlarge-h100-80-8_min",
"billing_value": 1000,
"billing_value_unit": "minutes",
"cost": 1000,
"currency": "EUR",
"err": null,
"flavor": "bm3-ai-1xlarge-h100-80-8",
"region": 76,
"region_id": 76,
"type": "ai_cluster"
}
]
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}{
"detail": "<string>",
"exception_class": "<string>",
"hint": "<string>",
"message": "<string>",
"request_id": "<string>",
"status": 123,
"title": "<string>",
"trace_id": "<string>",
"type": "internal-server-error",
"context": {
"allowed_methods": [
"<string>"
],
"blocking_count": 123,
"blocking_resources": [
{
"resource_id": "<string>",
"resource_type": "<string>",
"resource_name": "<string>"
}
],
"client_id": 123,
"operation": "<string>",
"project_id": 123,
"quotas": [
{
"available": 123,
"limit": 123,
"name": "<string>",
"overflow": 123,
"region_id": 123,
"requested": 123,
"resulting_usage": 123,
"scope": "global",
"unit": "<string>",
"usage": 123
}
],
"reason": "account",
"region_id": 123,
"resource_id": "<string>",
"resource_status": "<string>",
"resource_type": "<string>",
"retry_after": 123
},
"errors": [
{
"code": "<string>",
"detail": "<string>",
"loc": [
"<string>"
],
"ctx": {}
}
],
"info": null,
"invalid_fields": null
}Authorizations
API key for authentication. Make sure to include the word apikey, followed by a single space and then your token.
Example: apikey 1234_abcdef
Body
The start date of the report period (ISO 8601). The report starts from the beginning of this day in UTC.
"2023-01-01T00:00:00Z"
The end date of the report period (ISO 8601). The report ends just before the beginning of this day in UTC.
"2023-02-01T00:00:00Z"
Expenses for the last specified day are taken into account. As the default, False.
false
List of project IDs
[16, 17, 18, 19, 20]
List of region IDs.
[1, 2, 3]
Format of the response (csv or json).
csv_totals, json "csv_totals"
"json"
Round cost values to 5 decimal places. When false, returns full precision.
Extended filter for field filtering.
- SchemaFilterSnapshotSerializer
- SchemaFilterInstanceSerializer
- SchemaFilterAiClusterSerializer
- SchemaFilterAiVirtualClusterSerializer
- SchemaFilterBasicVmSerializer
- SchemaFilterBaremetalSerializer
- SchemaFilterVolumeSerializer
- SchemaFilterFileShareSerializer
- SchemaFilterImageSerializer
- SchemaFilterFloatingIpSerializer
- SchemaFilterEgressTrafficSerializer
- SchemaFilterLoadBalancerSerializer
- SchemaFilterExternalIpSerializer
- SchemaFilterBackupSerializer
- SchemaFilterLogIndexSerializer
- SchemaFilterFunctionsSerializer
- SchemaFilterFunctionsCallsSerializer
- SchemaFilterFunctionsTrafficSerializer
- SchemaFilterContainersSerializer
- SchemaFilterInferenceSerializer
- SchemaFilterDBAASPostgreSQLVolumeSerializer
- SchemaFilterDBAASPostgreSQLPublicNetworkSerializer
- SchemaFilterDBAASPostgreSQLCPUSerializer
- SchemaFilterDBAASPostgreSQLMemorySerializer
- SchemaFilterDBAASPostgreSQLPoolerSerializer
Show child attributes
Show child attributes
{ "field": "flavor", "type": "instance", "values": ["g1-standard-1-2"] }
Filter by tags
Show child attributes
Show child attributes
{ "condition_type": "OR", "conditions": [ { "key": "os_version", "strict": true, "value": "22.04" }, { "key": "os_version", "strict": true, "value": "23.04" } ] }
List of resource types to be filtered in the report.
Resource types for prebilling report
ai_cluster, ai_virtual_cluster, backup, baremetal, basic_vm, containers, dbaas_postgresql_connection_pooler, dbaas_postgresql_cpu, dbaas_postgresql_memory, dbaas_postgresql_public_network, dbaas_postgresql_volume, egress_traffic, external_ip, file_share, floatingip, functions, functions_calls, functions_traffic, image, inference, inference_public_models, instance, load_balancer, log_index, snapshot, volume ["egress_traffic", "instance"]
Response
OK
Count of returned totals
x >= 01
Price status for the UI, type: string
error, hide, show - TotalAiClusterWithCostSerializer
- TotalAiVirtualClusterWithCostSerializer
- TotalBaremetalWithCostSerializer
- TotalBasicVmWithCostSerializer
- TotalBackupWithCostSerializer
- TotalContainerWithCostSerializer
- TotalEgressTrafficWithCostSerializer
- TotalExternalIpWithCostSerializer
- TotalFileShareWithCostSerializer
- TotalFloatingIpWithCostSerializer
- TotalFunctionsWithCostSerializer
- TotalFunctionCallsWithCostSerializer
- TotalFunctionEgressTrafficWithCostSerializer
- TotalImagesWithCostSerializer
- TotalInferenceWithCostSerializer
- TotalInstanceWithCostSerializer
- TotalLoadBalancerWithCostSerializer
- TotalLogIndexWithCostSerializer
- TotalSnapshotWithCostSerializer
- TotalVolumeWithCostSerializer
- TotalDBAASPostgreSQLPoolerWithCostSerializer
- TotalDBAASPostgreSQLMemoryWithCostSerializer
- TotalDBAASPostgreSQLPublicNetworkWithCostSerializer
- TotalDBAASPostgreSQLCPUWithCostSerializer
- TotalDBAASPostgreSQLVolumeWithCostSerializer
Show child attributes
Show child attributes
Was this page helpful?