List statements
GET/api/v1/billing/statements
The organization's monthly statements, newest period first, without their lines (read one statement for those).
total_usd is the period's own usage; amount_due_usd is what the
statement actually asks for, adding amounts carried in from earlier
months that were too small to charge on their own.
Requires the billing:invoice:read scope.
Authorization
Parameters
Query parameters
limitintegerHow many statements, 1–100. Any other value means 24.
Responses
200
The statements.
dataobjectstatementsarray of StatementShow Statement properties
idstringorg_idstringperiod_startstring (date-time)period_endstring (date-time)The first instant of the next month (exclusive).statusstringopenfor the month in progress,predictedfor a closed month computed but not yet charged,finalizedonce the amount is frozen.rate_versionintegerThe rate card version that priced the period.pricing_tierstringtotal_ehunumberExact usage for the period, before rounding and the free allowance.billed_ehunumbertotal_ehurounded up to a whole EHU.allowance_ehunumberHow much the free allowance covered.chargeable_ehunumberbilled_ehuminusallowance_ehu.credit_ehunumberHow much of that was paid from the credit balance.commitment_ehunumberThe committed volume billed, used or not.overage_ehunumberUsage beyond what the tier covered, priced on demand.total_usdnumberThe period's own charge. A month covered by the allowance costs 0.carried_in_usdnumberAmounts owed by earlier months that were too small to charge alone, collected with this one.carried_periodsarray of string (date-time)The months carried in. Left out when there are none.settled_by_periodstring (date-time)The month whose payment collected this one, when it was carried forward. Left out while still owed.generated_atstring (date-time)finalized_atstring (date-time)When the amount was frozen. Left out while it can still change.charge_statusstringWhat became of the money. Left out until collection has run.not_required: nothing was owed.below_minimum: too small to charge, carried forward.no_payment_method: owed with no card on file.invoiced: invoice raised and payment attempted.paid.failed: the card was declined or the invoice refused.charged_atstring (date-time)hosted_invoice_urlstring (uri)invoice_pdf_urlstring (uri)receipt_urlstring (uri)linesarray of objectOne line per metric. Only on a single statement, and left out when it has none.metric_keystringquantitynumberehunumberehu_billednumberusdnumber
amount_due_usdnumberWhat the statement asks for —total_usdpluscarried_in_usd.
401
No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
403
The key lacks the scope this endpoint needs (FORBIDDEN).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
429
Too many requests (RATE_LIMITED). Wait for Retry-After seconds.
Retry-AfterintegerSeconds to wait before retrying.
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
500
Statements could not be loaded (STATEMENTS_FAILED). Retry later.
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
Example request
curl -X GET 'https://evohub.io/api/v1/billing/statements' \
-H 'Authorization: Bearer <TOKEN>'
