Runs by tier and metered usage by kind for the period, plus the account plan, spend cap and month-to-date spend. Reads D1 only — never Stripe. charged is the runs that were billed, tier by tier, and totals.charged_cents is exactly their sum; included lists the trial-covered runs apart, at $0, each flagged included_in_trial. Each metered kind separates its charges from its refunds, so a net quantity is never shown beside a gross event count.
Reserved list price on the control rows. 0 for a run an included (trial) allowance covered — this is NOT what was charged.
integer
amount_cents
required
What the billing ledger metered for these runs, refunds included. Sums to totals.run_amount_cents.
integer
metered_runs
required
How many of these runs have a ledger row yet. runs - metered_runs is the number still in flight.
integer
included_runs
required
How many of these runs an included (trial) allowance covered, metered at $0.
integer
charged_runs
required
runs - included_runs: the runs no allowance covered.
integer
charged_cents
required
What the ledger metered for the charged runs alone.
integer
included_cents
required
What the ledger metered for the included runs. $0 by definition.
integer
complimentary_runs
How many of these runs an operator grant comped (0041). Taken OUT of charged_runs, never netted into it.
integer
complimentary_cents
What the comped runs would have cost — the real price, which their ledger rows carry. Not part of charged_cents.
integer
charged
required
Runs that were billed this period, by tier, with what they cost. totals.charged_cents is exactly the sum of these amounts — no other number has to be subtracted to arrive at it (E2E2-07).
Array<object>
object
tier
required
string
runs
required
integer
amount_cents
required
integer
metered_runs
required
integer
included_in_trial
required
boolean
included
required
Trial-covered runs, listed apart from the charged ones so “$0.00” reads as “included” rather than as “free by accident”.
Array<object>
object
tier
required
string
runs
required
integer
amount_cents
required
Always 0: an included run is not charged.
integer
included_in_trial
required
boolean
complimentary
Runs an operator grant comped (0041), listed apart from the charged ones and NOT included in totals.charged_cents. Absent when this account has none.
Array<object>
object
tier
required
string
runs
required
integer
amount_cents
required
The real price of these runs, which is what their ledger rows carry — a comped run is not a $0 run.
integer
complimentary
required
boolean
metered
required
Array<object>
object
kind
required
string
quantity
required
Net of refunds, like amount_cents beside it. To show a quantity next to events, use charges.quantity: it counts the same population (E2E2-07).
integer
amount_cents
required
Net of refunds.
integer
events
required
The metered events of this kind in the period — charged and included together, refunds excluded. ALWAYS equal to charges.quantity for a one-unit-per-event meter such as runs, because they are the same rows counted twice; a row that read Research runs — 7 — $0.00 — 8 events was counting a refund as an eighth run (E2E4A-10). Show charges.amount_cents beside it for what those events were charged.
integer
gross_events
required
Every ledger row of this kind, refunds included. events + refunds.events.
integer
charges
required
The non-negative rows only — the metered events themselves, charged and included alike. charges.quantity === events for a per-run meter.
object
quantity
required
integer
amount_cents
required
integer
events
required
integer
refunds
required
object
quantity
required
integer
amount_cents
required
integer
events
required
integer
totals
required
object
amount_cents
required
Every metered kind in this workspace for the period.
integer
events
required
integer
runs
required
Runs created in the period, all tiers.
integer
metered_runs
required
integer
included_runs
required
integer
charged_runs
required
Runs created in the period that no allowance covered.
integer
charged_cents
required
What the charged runs cost, and exactly the sum of charged[].amount_cents. This is the period total a customer is asked to believe.
integer
run_amount_cents
required
The run-kind slice of amount_cents; equals the sum of runs[].amount_cents.
integer
complimentary_runs
Runs created in the period that an operator grant comped (0041).
integer
complimentary_cents
What those runs would have cost, and exactly the sum of complimentary[].amount_cents. Deliberately NOT part of charged_cents: the account was not asked to pay it.
integer
licensed_articles
required
Licensed-article spend (rung LT), at cost, from the fetch lane’s own source ledger — NOT from usage_events and NOT part of totals. The two ledgers are separate on purpose: one is what this workspace was charged, the other is what a vendor charged us for a page, and summing them would double-count. All zeros when nothing was licensed, which is the shipping state.
object
month
required
YYYY-MM, the month the source ledger books against.
string
articles
required
Licensed article purchases attributed to this workspace this month, settled or in flight.
integer
settled_micros
required
What the vendor confirmed charging, in micro-USD (1000000 = $1.00). Micro-USD and not cents because a licensed page costs $0.001 to $1.00, and most purchases would round to free.
integer
reserved_micros
required
Booked and not yet settled: a purchase in flight, held at its worst case.
integer
unresolved_micros
required
Of reserved_micros, the part whose outcome is unknown and awaiting reconciliation against the vendor’s own record. Reported apart because an unknown outcome is neither confirmed spend nor available headroom.
integer
account
required
object
plan
required
string
spend_cap_cents_month
required
integer
month_to_date_cents
required
Account-wide charge for the current month, across EVERY workspace of the account — not just this one. Compare with totals.amount_cents, which is this workspace only.
The quota policy this request was counted against (draft-ietf-httpapi-ratelimit-headers): "<bucket>";q=<requests>;w=<window seconds>, e.g. "reads";q=60;w=60. Buckets: reads 60/min, status 600/min, creates 10/min, writes 20/min per credential; public 300/min per network on keyless routes.
RateLimit
string
Example
"reads";r=57;t=41
Remaining quota in the current window: "<bucket>";r=<remaining>;t=<seconds until reset>, e.g. "reads";r=57;t=41.
X-RateLimit-Limit
integer
Requests allowed per window in this bucket (legacy form of RateLimit-Policy).
X-RateLimit-Remaining
integer
Requests left in this window (legacy form of RateLimit).
X-RateLimit-Reset
integer
Unix time (seconds) when the window resets.
X-RateLimit-Bucket
string
Which bucket counted the request: reads, status, creates, writes or public.
Seconds to wait before retrying. Always present on a 429.
RateLimit-Policy
string
Example
"reads";q=60;w=60
The quota policy this request was counted against (draft-ietf-httpapi-ratelimit-headers): "<bucket>";q=<requests>;w=<window seconds>, e.g. "reads";q=60;w=60. Buckets: reads 60/min, status 600/min, creates 10/min, writes 20/min per credential; public 300/min per network on keyless routes.
RateLimit
string
Example
"reads";r=57;t=41
Remaining quota in the current window: "<bucket>";r=<remaining>;t=<seconds until reset>, e.g. "reads";r=57;t=41.
X-RateLimit-Limit
integer
Requests allowed per window in this bucket (legacy form of RateLimit-Policy).
X-RateLimit-Remaining
integer
Requests left in this window (legacy form of RateLimit).
X-RateLimit-Reset
integer
Unix time (seconds) when the window resets.
X-RateLimit-Bucket
string
Which bucket counted the request: reads, status, creates, writes or public.