Price a cluster's current configuration for a what-if draft
import requests
url = "https://platform.ankra.app/api/v1/org/clusters/{cluster_id}/cost/estimate"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.ankra.app/api/v1/org/clusters/{cluster_id}/cost/estimate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request GET \
--url https://platform.ankra.app/api/v1/org/clusters/{cluster_id}/cost/estimate \
--header 'Authorization: Bearer <token>'{
"currency": "<string>",
"pricing": {
"mode": "<string>",
"provider": "<string>",
"source": "<string>",
"reason": "<string>",
"spot_supported": true,
"catalog_size_count": 123,
"applied_discount_pct": 123,
"vcpu_monthly_amount": 123,
"memory_gb_monthly_amount": 123,
"storage_gb_monthly_amount": 123,
"load_balancer_monthly_amount": 123,
"nat_gateway_monthly_amount": 123,
"gateway_monthly_amount": 123,
"flexible_ip_monthly_amount": 123,
"public_ipv4_monthly_amount": 123,
"local_disk_gb_monthly_amount": 123,
"region": "<string>"
},
"baseline": {
"node_groups": [
{
"name": "<string>",
"count": 123,
"vcpus": 123,
"memory_gb": 123,
"disk_gb": 123,
"spot": true,
"instance_type": "<string>",
"instance_class": "<string>",
"instance_vcpus": 123,
"instance_memory_gb": 123,
"instance_disk_gb": 123,
"extra_disk_gb": 123,
"unit_monthly_cents": 123,
"compute_monthly_cents": 123,
"storage_monthly_cents": 123,
"public_ipv4s": 123,
"public_ipv4_monthly_cents": 123,
"local_disk_monthly_cents": 123,
"monthly_cents": 123,
"priced": true,
"note": "<string>",
"gpus": 123,
"gpu_model": "<string>",
"instance_gpus": 123,
"instance_gpu_model": "<string>"
}
],
"control_plane": {
"name": "<string>",
"count": 123,
"vcpus": 123,
"memory_gb": 123,
"disk_gb": 123,
"spot": true,
"instance_type": "<string>",
"instance_class": "<string>",
"instance_vcpus": 123,
"instance_memory_gb": 123,
"instance_disk_gb": 123,
"extra_disk_gb": 123,
"unit_monthly_cents": 123,
"compute_monthly_cents": 123,
"storage_monthly_cents": 123,
"public_ipv4s": 123,
"public_ipv4_monthly_cents": 123,
"local_disk_monthly_cents": 123,
"monthly_cents": 123,
"priced": true,
"note": "<string>",
"gpus": 123,
"gpu_model": "<string>",
"instance_gpus": 123,
"instance_gpu_model": "<string>"
},
"network": {
"load_balancers": 123,
"nat_gateways": 123,
"gateways": 123,
"flexible_ips": 123,
"monthly_cents": 123,
"unpriced_count": 123
},
"total_node_count": 123,
"priced_node_count": 123,
"compute_monthly_cents": 123,
"storage_monthly_cents": 123,
"network_monthly_cents": 123,
"monthly_cents": 123,
"coverage_incomplete": true
},
"estimate": {
"node_groups": [
{
"name": "<string>",
"count": 123,
"vcpus": 123,
"memory_gb": 123,
"disk_gb": 123,
"spot": true,
"instance_type": "<string>",
"instance_class": "<string>",
"instance_vcpus": 123,
"instance_memory_gb": 123,
"instance_disk_gb": 123,
"extra_disk_gb": 123,
"unit_monthly_cents": 123,
"compute_monthly_cents": 123,
"storage_monthly_cents": 123,
"public_ipv4s": 123,
"public_ipv4_monthly_cents": 123,
"local_disk_monthly_cents": 123,
"monthly_cents": 123,
"priced": true,
"note": "<string>",
"gpus": 123,
"gpu_model": "<string>",
"instance_gpus": 123,
"instance_gpu_model": "<string>"
}
],
"control_plane": {
"name": "<string>",
"count": 123,
"vcpus": 123,
"memory_gb": 123,
"disk_gb": 123,
"spot": true,
"instance_type": "<string>",
"instance_class": "<string>",
"instance_vcpus": 123,
"instance_memory_gb": 123,
"instance_disk_gb": 123,
"extra_disk_gb": 123,
"unit_monthly_cents": 123,
"compute_monthly_cents": 123,
"storage_monthly_cents": 123,
"public_ipv4s": 123,
"public_ipv4_monthly_cents": 123,
"local_disk_monthly_cents": 123,
"monthly_cents": 123,
"priced": true,
"note": "<string>",
"gpus": 123,
"gpu_model": "<string>",
"instance_gpus": 123,
"instance_gpu_model": "<string>"
},
"network": {
"load_balancers": 123,
"nat_gateways": 123,
"gateways": 123,
"flexible_ips": 123,
"monthly_cents": 123,
"unpriced_count": 123
},
"total_node_count": 123,
"priced_node_count": 123,
"compute_monthly_cents": 123,
"storage_monthly_cents": 123,
"network_monthly_cents": 123,
"monthly_cents": 123,
"coverage_incomplete": true
},
"metered_monthly_cents": 123,
"predicted_monthly_cents": 123,
"delta_monthly_cents": 123,
"target_provider": "<string>",
"target_pricing": {
"mode": "<string>",
"provider": "<string>",
"source": "<string>",
"reason": "<string>",
"spot_supported": true,
"catalog_size_count": 123,
"applied_discount_pct": 123,
"vcpu_monthly_amount": 123,
"memory_gb_monthly_amount": 123,
"storage_gb_monthly_amount": 123,
"load_balancer_monthly_amount": 123,
"nat_gateway_monthly_amount": 123,
"gateway_monthly_amount": 123,
"flexible_ip_monthly_amount": 123,
"public_ipv4_monthly_amount": 123,
"local_disk_gb_monthly_amount": 123,
"region": "<string>"
},
"available_targets": [
{
"provider": "<string>",
"title": "<string>",
"size_count": 123,
"region": "<string>",
"source": "<string>",
"pricing_mode": "<string>"
}
],
"match": "<string>",
"volumes": {
"count": 123,
"metered_monthly_cents": 123,
"target_monthly_cents": 123,
"volume_type": "<string>",
"target_volume_type": "<string>",
"tier_changed": true,
"note": "<string>"
},
"priced_delta_monthly_cents": 123,
"unitemised": {
"monthly_cents": 123,
"carried_to_target": true,
"note": "<string>"
}
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "Cluster not found"
}Cost
Price a cluster's current configuration for a what-if draft
Prices what the cluster runs today - its node groups (from the machines Ankra provisioned, or the synced nodes grouped by pool) and load balancers - from the same price book or rate card the metering loop bills from, in the caller’s display currency. The estimate echoes the baseline so a draft can start from it. Bearer-PAT twin of the browser route of the same name under /org.
GET
/
api
/
v1
/
org
/
clusters
/
{cluster_id}
/
cost
/
estimate
Price a cluster's current configuration for a what-if draft
import requests
url = "https://platform.ankra.app/api/v1/org/clusters/{cluster_id}/cost/estimate"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.ankra.app/api/v1/org/clusters/{cluster_id}/cost/estimate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request GET \
--url https://platform.ankra.app/api/v1/org/clusters/{cluster_id}/cost/estimate \
--header 'Authorization: Bearer <token>'{
"currency": "<string>",
"pricing": {
"mode": "<string>",
"provider": "<string>",
"source": "<string>",
"reason": "<string>",
"spot_supported": true,
"catalog_size_count": 123,
"applied_discount_pct": 123,
"vcpu_monthly_amount": 123,
"memory_gb_monthly_amount": 123,
"storage_gb_monthly_amount": 123,
"load_balancer_monthly_amount": 123,
"nat_gateway_monthly_amount": 123,
"gateway_monthly_amount": 123,
"flexible_ip_monthly_amount": 123,
"public_ipv4_monthly_amount": 123,
"local_disk_gb_monthly_amount": 123,
"region": "<string>"
},
"baseline": {
"node_groups": [
{
"name": "<string>",
"count": 123,
"vcpus": 123,
"memory_gb": 123,
"disk_gb": 123,
"spot": true,
"instance_type": "<string>",
"instance_class": "<string>",
"instance_vcpus": 123,
"instance_memory_gb": 123,
"instance_disk_gb": 123,
"extra_disk_gb": 123,
"unit_monthly_cents": 123,
"compute_monthly_cents": 123,
"storage_monthly_cents": 123,
"public_ipv4s": 123,
"public_ipv4_monthly_cents": 123,
"local_disk_monthly_cents": 123,
"monthly_cents": 123,
"priced": true,
"note": "<string>",
"gpus": 123,
"gpu_model": "<string>",
"instance_gpus": 123,
"instance_gpu_model": "<string>"
}
],
"control_plane": {
"name": "<string>",
"count": 123,
"vcpus": 123,
"memory_gb": 123,
"disk_gb": 123,
"spot": true,
"instance_type": "<string>",
"instance_class": "<string>",
"instance_vcpus": 123,
"instance_memory_gb": 123,
"instance_disk_gb": 123,
"extra_disk_gb": 123,
"unit_monthly_cents": 123,
"compute_monthly_cents": 123,
"storage_monthly_cents": 123,
"public_ipv4s": 123,
"public_ipv4_monthly_cents": 123,
"local_disk_monthly_cents": 123,
"monthly_cents": 123,
"priced": true,
"note": "<string>",
"gpus": 123,
"gpu_model": "<string>",
"instance_gpus": 123,
"instance_gpu_model": "<string>"
},
"network": {
"load_balancers": 123,
"nat_gateways": 123,
"gateways": 123,
"flexible_ips": 123,
"monthly_cents": 123,
"unpriced_count": 123
},
"total_node_count": 123,
"priced_node_count": 123,
"compute_monthly_cents": 123,
"storage_monthly_cents": 123,
"network_monthly_cents": 123,
"monthly_cents": 123,
"coverage_incomplete": true
},
"estimate": {
"node_groups": [
{
"name": "<string>",
"count": 123,
"vcpus": 123,
"memory_gb": 123,
"disk_gb": 123,
"spot": true,
"instance_type": "<string>",
"instance_class": "<string>",
"instance_vcpus": 123,
"instance_memory_gb": 123,
"instance_disk_gb": 123,
"extra_disk_gb": 123,
"unit_monthly_cents": 123,
"compute_monthly_cents": 123,
"storage_monthly_cents": 123,
"public_ipv4s": 123,
"public_ipv4_monthly_cents": 123,
"local_disk_monthly_cents": 123,
"monthly_cents": 123,
"priced": true,
"note": "<string>",
"gpus": 123,
"gpu_model": "<string>",
"instance_gpus": 123,
"instance_gpu_model": "<string>"
}
],
"control_plane": {
"name": "<string>",
"count": 123,
"vcpus": 123,
"memory_gb": 123,
"disk_gb": 123,
"spot": true,
"instance_type": "<string>",
"instance_class": "<string>",
"instance_vcpus": 123,
"instance_memory_gb": 123,
"instance_disk_gb": 123,
"extra_disk_gb": 123,
"unit_monthly_cents": 123,
"compute_monthly_cents": 123,
"storage_monthly_cents": 123,
"public_ipv4s": 123,
"public_ipv4_monthly_cents": 123,
"local_disk_monthly_cents": 123,
"monthly_cents": 123,
"priced": true,
"note": "<string>",
"gpus": 123,
"gpu_model": "<string>",
"instance_gpus": 123,
"instance_gpu_model": "<string>"
},
"network": {
"load_balancers": 123,
"nat_gateways": 123,
"gateways": 123,
"flexible_ips": 123,
"monthly_cents": 123,
"unpriced_count": 123
},
"total_node_count": 123,
"priced_node_count": 123,
"compute_monthly_cents": 123,
"storage_monthly_cents": 123,
"network_monthly_cents": 123,
"monthly_cents": 123,
"coverage_incomplete": true
},
"metered_monthly_cents": 123,
"predicted_monthly_cents": 123,
"delta_monthly_cents": 123,
"target_provider": "<string>",
"target_pricing": {
"mode": "<string>",
"provider": "<string>",
"source": "<string>",
"reason": "<string>",
"spot_supported": true,
"catalog_size_count": 123,
"applied_discount_pct": 123,
"vcpu_monthly_amount": 123,
"memory_gb_monthly_amount": 123,
"storage_gb_monthly_amount": 123,
"load_balancer_monthly_amount": 123,
"nat_gateway_monthly_amount": 123,
"gateway_monthly_amount": 123,
"flexible_ip_monthly_amount": 123,
"public_ipv4_monthly_amount": 123,
"local_disk_gb_monthly_amount": 123,
"region": "<string>"
},
"available_targets": [
{
"provider": "<string>",
"title": "<string>",
"size_count": 123,
"region": "<string>",
"source": "<string>",
"pricing_mode": "<string>"
}
],
"match": "<string>",
"volumes": {
"count": 123,
"metered_monthly_cents": 123,
"target_monthly_cents": 123,
"volume_type": "<string>",
"target_volume_type": "<string>",
"tier_changed": true,
"note": "<string>"
},
"priced_delta_monthly_cents": 123,
"unitemised": {
"monthly_cents": 123,
"carried_to_target": true,
"note": "<string>"
}
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "Cluster not found"
}Authorizations
Response
Successful response