Skip to main content
POST
Price a what-if node-group draft against a cluster

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-ankra-organisation-id
string

PAT organisation override.

Path Parameters

cluster_id
string<uuid>
required

Body

application/json
node_groups
ClusterCostEstimateNodeGroupInput · object[]
required

The full set of node groups the prototype cluster would run (at most 32).

network
ClusterCostEstimateNetworkInput · object | null

Absent means unchanged from today.

provider
string

Price the draft on this provider's catalogue instead of the cluster's own (a migration); one of the response's available_targets. The cluster's own provider is accepted too and re-sizes the fleet in place: every group and the control plane land afresh on that price book. Empty keeps the cluster's provider and its sizes.

match
enum<string>

How each group is placed on a size: cheapest (the default) takes the cheapest size that holds the shape whatever its vCPU class; like_for_like prefers a size of the same vCPU class as the one the group runs on today when any such size holds it.

Available options:
cheapest,
like_for_like

Response

Successful response

currency
string
required
pricing
CostEstimatePricing · object
required
baseline
CostEstimateConfiguration · object
required
estimate
CostEstimateConfiguration · object
required
metered_monthly_cents
integer | null
required
predicted_monthly_cents
integer | null
required

The metered run rate plus the change; on a migration the re-priced volumes are folded in. Withheld when an unpriced part differs between the two sides.

delta_monthly_cents
integer | null
required
target_provider
string
required

The provider the estimate was priced on when the draft asked for a migration; empty otherwise.

target_pricing
CostEstimatePricing · object | null
required

The migration target's source and unit prices; pricing keeps the cluster's own.

available_targets
CostEstimateTarget · object[]
required

Providers a draft may be priced on: those with an offline size catalogue and priced rows, the cluster's own excluded.

match
string
required

The matching rule the estimate was placed with.

volumes
CostEstimateVolumes · object
required
priced_delta_monthly_cents
integer | null
required

The estimate minus the baseline over the lines both sides could price (a line priced on one side only is left out of both), answered even when the prediction is withheld so a partly priced target keeps a floor; null when no line could be compared.

unitemised
CostEstimateUnitemised · object
required