Skip to main content
GET
Measured outcomes of the organisation's cost decisions

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.

Query Parameters

project_id
string

The project to read: a project's id, or all for the whole organisation. Absent reads the caller's current project (the whole organisation while projects are off). A token pinned to a project, or a member limited to projects, may name only their own project.

Response

Successful response

The measured outcomes of the organisation's cost decisions, newest first. measured_total_cents sums measured rows only, never expectations; running_total_cents sums the expectations of the changes in flight (approved, running, or succeeded and still inside their verification window). An approved or running change holds no stored expectation until it succeeds, so it is counted, and its row's expected_monthly_cents filled, at what its surface stated; one that stated nothing is not counted and its row says null. An approved change whose approval has expired is listed but not counted (approval_expired true, or null for a rollback the ledger cannot judge). A negative measured row counts against the total as it stands.

currency
string
required
generated_at
string<date-time>
required
measured_total_cents
integer
required
month
string
required

The UTC calendar month measured_this_month_cents covers, as YYYY-MM.

measured_this_month_cents
integer
required

measured_total_cents restricted to the rows measured in the current UTC calendar month (month): the figure a "saved this month" reading shows. Aggregated over every row, like the other totals.

measured_fx_basis
enum<string> | null
required

Which rates brought the measured totals to the currency, the weakest of their days'. The measured totals are realised savings, so each converts at the ECB rates of the day it was measured (own_day); recorded when no conversion was needed; today when a measurement had no stored rate for its day, or no day, and converted at today's. unrated says a day's measurements no rate converts are left out of both totals. Every other figure of the ledger, each row's included, is a run rate at today's rate. Null when no row is measured.

Available options:
recorded,
own_day,
today,
unrated
running_total_cents
integer
required
counts
CloudCostLedgerCounts · object
required

How many ledger rows sit in each measurement state.

rows
CloudCostLedgerRow · object[]
required
truncated
boolean
required

True when the organisation holds more rows than the read returns (the newest 500); the totals and counts still cover every row.

scope
CostReadScope · object
required

What a fleet cost read covered (ADR 0022): the project it read, or the whole organisation, and whether the caller's cluster permissions hid clusters from it.