Get the authoritative month-to-date cost breakdown
const url = 'https://api.aetherplatform.cloud/api/v1/organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/billing/breakdown';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.aetherplatform.cloud/api/v1/organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/billing/breakdown \ --header 'Authorization: Bearer <token>'Returns the current UTC month’s authoritative cost breakdown: flat monthly subscriptions (fixed pools, control plane, packages and package overage, public API endpoints and load balancers) plus server-priced autoscaling usage aggregated per node pool and resource type, with a reconciled subtotal in euros. The subtotal reconciles to UsageSummary.total_eur (to display precision; exact-cents parity lands with invoice generation in Phase 4) — this endpoint is the single source of truth for the month’s bill (unlike /billing/daily-spend, which is autoscaling-only). Each autoscaling line carries the server-computed unit_price_eur and amount_eur.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Organization UUID.
Responses
Section titled “Responses”The authoritative cost breakdown.
object
Flat monthly committed fees: fixed pools, control plane, packages and package overage, public API endpoints and load balancers (see SubscriptionLine.kind).
object
Which flat monthly charge this line is. plan is a package fee and plan_overage the resources beyond its allowance (both cluster-scoped, with a null node_pool_id); public_ip is the mandatory public API endpoint every cluster is required to have — one line per cluster per month at the published public_ip rate (€4 at the time of writing), a flat month locked the first time the billing sampler observes the endpoint address, so replacing that address within the month does not add a line; loadbalancer, by contrast, is one line per public load-balancer address, so a cluster with several produces several.
Server-priced autoscaling usage aggregated per node pool and resource type.
object
Server-computed per-resource-hour rate from the rate card.
Server-computed line cost (quantity × unit_price_eur).
Reconciled month-to-date total (subscriptions + autoscaling). Reconciles to UsageSummary.total_eur to display precision — equal by linearity of the rate card, but float64 round-then-sum vs sum-then-multiply can differ by a few ULPs. Exact-cents parity lands with invoice generation in Phase 4.
Example
{ "subscriptions": [ { "kind": "node_pool" } ], "autoscaling": [ { "resource_type": "vcpu" } ]}Missing or invalid credentials.
object
object
A stable, machine-readable error code.
object
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": [ { "field": "example", "code": "example", "message": "example" } ] }}