Skip to main content

Docs

Endpoint and field reference

This page lists every endpoint of ReserveBeat's public API, the read endpoints and the account endpoints that issue keys and manage webhooks, with every field each one takes and returns, generated from the OpenAPI document the running service publishes rather than written beside it. Each endpoint states what it requires: nothing, an API key, or a signed-in account. Each computed metric carries the same definition the data definitions page gives.

Generated from the service's own OpenAPI document, not written alongside it: every path, parameter, request body and response field below is read out of the schema the running API publishes, so a field that is renamed, added or removed moves this page in the same commit that moves the API.

One definition, two pages

Where a field is one of the computed metrics, the description here is the definition the data definitions page gives for that metric, character for character. There is one definition and two renderings of it, so a developer reading this page and a reader on that one are never told different things about the same number.

Data definitions

Read endpoints

Read endpoints
EndpointAccessReturns
GET /v1/board/overviewNo key required200 V1BoardOverview
GET /v1/board/tokens/{symbol}No key required200 V1BoardTokenDetail
GET /v1/board/coverageNo key required200 V1BoardCoverage
GET /v1/board/historyAPI key required200 V1BoardHistory
GET /v1/board/attestationsNo key required200 V1BoardAttestationIndex
GET /v1/board/attestations/{symbol}/{period}No key required200 V1BoardAttestationPeriod
GET /v1/board/revisionsNo key required200 V1BoardRevisions
GET /v1/pricingNo key required200 V1Pricing
GET /v1/account/balanceAPI key required200 V1AccountBalance
GET /v1/board/evidence/{symbol}/bundleNo key required200 application/zip

GET /v1/board/overview

No key required

Parameters

GET /v1/board/overview: Parameters
NameTypeDetails
X-API-Keystringheader
If-None-Matchstringheader

Response fields 200 V1BoardOverview

GET /v1/board/overview: Response fields
FieldTypeDescription
reviewrequiredBoardReviewStatusThe board's publication review state: whether a recorded review covers the current release, and when it was made.
chain_head_seqrequiredinteger | nullThe sequence number of the newest record on ReserveBeat's public evidence hash chain; null when the chain holds no records.
chain_head_hashrequiredstring | nullThe SHA-256 hash of the newest record on ReserveBeat's public evidence hash chain, as a hex string; null when the chain holds no records.
latest_anchorrequiredBoardAnchorInfo | nullThe most recently created external timestamp anchor over the evidence chain; null when no anchor has been created.
methodology_sha256requiredstring | nullThe SHA-256 hash of the newest published methodology document, as a hex string; null when none has been published.
methodology_uploaded_atrequiredstring (date-time) | nullWhen the newest published methodology document was uploaded; null when none has been published.
tokensrequiredBoardTokenCard[]One summary card per tracked token, built from its home network.
headlinerequiredBoardHeadline | nullThe sum of the total reserve each tracked token's latest active report states, split by the scope each report states it at; null when no report states a total, and when a stated figure cannot be read, in which case the whole sum is withheld rather than a partial one published.
metarequiredV1MetaThe response envelope: disclaimer, terms, reuse licence, and the as-of dates of the figures this response carries, each stated as a range over the tokens it covers: the base member is the least recent of the tokens' newest dates and the _max member the most recent, and a date is null when the response carries no figure of that kind.

Other statuses 304 401 403 429 503

GET /v1/board/tokens/{symbol}

No key required

Parameters

GET /v1/board/tokens/{symbol}: Parameters
NameTypeDetails
symbolstringpath, required
chainstring | nullquery
X-API-Keystringheader
If-None-Matchstringheader

Response fields 200 V1BoardTokenDetail

GET /v1/board/tokens/{symbol}: Response fields
FieldTypeDescription
symbolrequiredstringThe token's ticker symbol as tracked on the board, used as the path key for its routes.
token_namerequiredstringThe token's full name as recorded in ReserveBeat's token registry.
issuer_namerequiredstringThe issuer's short display name, such as the brand a reader knows the issuer by.
issuer_entity_namerequiredstring | nullThe issuing legal entity the token's attestation source names; null when no attestation source is recorded for this token, so no entity is stated.
chainrequiredstringThe home network this row's contract address, decimals and measured figures were read from.
chainsrequiredstring[]The same list as chains_ingested, under the name this field was first published with; kept for one release and then retired with notice.
chains_ingestedrequiredstring[]Every network this board measures and publishes this symbol on, home network first; always present, with one element for a single-network token. It is not every network the issuer has deployed the token to.
addressrequiredstringThe token's contract address on the home network named in chain.
decimalsrequiredintegerThe number of decimals the token contract uses, which scales base-unit supply readings into whole tokens.
attestation_statusrequiredstring (CURRENT | STALE | WITHHELD_STALE | NONE)The age of a token's most recent report month, measured against the cadence expected for that token — the cadence recorded for its attestation source, or the default cadence when none is recorded. Past that limit the status reads STALE; within it, CURRENT. Past it by a further stated withholding grace, the status reads WITHHELD_STALE: the board stops serving that token's report-derived figures and states the withholding instead, while its on-chain supply still renders. By default the limit is forty-five days after the report month ends for a monthly cadence or when no cadence is recorded, one hundred and six days for a quarterly cadence, one hundred and ninety-eight days for a semiannual cadence and three hundred and eighty days for an annual cadence: each cadence's own period plus the same fourteen days of publication grace. The withholding grace is a further thirty days by default, so the figures are withheld past seventy-five days for a monthly cadence, one hundred and thirty-six days for a quarterly cadence, two hundred and twenty-eight days for a semiannual cadence and four hundred and ten days for an annual cadence. Every token card and token response states its own two limits, as stale_after_days and withheld_after_days. A token with no attestation series at all reads NONE, which is an absence rather than a value. The status states age, not lateness: an issuer publishing on its usual schedule can read STALE while its next report is not yet due, which is what overdue answers.
withheld_stalerequiredBoardWithheldStale | nullSet when the latest attestation report is past its staleness limit, meaning the attestation-derived fields on this payload are withheld rather than absent; null when nothing is withheld.
expected_cadencerequiredstring (MONTHLY | QUARTERLY | SEMIANNUAL | ANNUAL) | nullHow often this token's attestation reports are expected, as recorded for its attestation source; null when no source is recorded and the default monthly clock applies.
cadence_basisrequiredstring (ISSUER_STATED | OBSERVED) | nullWhether the expected cadence is the one the issuer states or one inferred from the issuer's report series; null when no attestation source is recorded.
missing_periodsrequiredstring[]Report months (YYYY-MM), oldest first, that the token's expected cadence called for between its first and last active report and for which no report is held: no active report covers them and they are not listed in published_unreadable_periods; empty when the series has no hole. The same list the coverage payload carries for this token.
published_unreadable_periodsrequiredBoardPublishedUnreadable[]Report months inside the series, oldest first, whose document the issuer published and ReserveBeat holds byte-exact but could not read: published by the issuer; not readable here. Each names the issuer's document and the SHA-256 of the held bytes. Nothing from these documents is used in any figure. The same list the coverage payload carries for this token.
overduerequiredboolean | nullWhether a token's next attestation report is late against the token's own schedule. The next report is expected by the end of the reporting period after the latest report month, stepped by the token's expected cadence, plus the publication lag that latest report itself showed. Overdue reads true once today's UTC date is past that expected-by date plus a stated grace window with no newer report held, and false until then. Held means captured by this board, so the grace window also absorbs the days between an issuer publishing and the board capturing. It is null when no expected-by date can be built: a token with no attestation series, or a latest report that states no issue date to measure a lag from.
next_report_expected_byrequiredstring (date) | nullThe date (ISO 8601) the token's next attestation report is expected by: the end of the reporting period after last_report_month, stepped by the expected cadence, plus the newest report's own publication lag. Null when the token has no attestation series or its newest report states no issue date.
overdue_grace_daysrequiredintegerThe days past next_report_expected_by allowed before overdue reads true, the same grace for every cadence; stated so the verdict can be recomputed.
stale_after_daysrequiredintegerThe days after the end of the latest report month past which attestation_status reads STALE, for this token's expected cadence; stated so the verdict can be recomputed.
withheld_after_daysrequiredintegerThe days after the end of the latest report month past which attestation_status reads WITHHELD_STALE and the report-derived figures are withheld, for this token's expected cadence: stale_after_days plus the withholding grace.
per_chain_itemizedrequiredbooleanTrue when the latest active attestation report itemizes a figure for this token's home network, false when it states only a total or no report is served.
supply_seriesrequiredBoardSupplyFigure[]ReserveBeat's measured on-chain supply readings for this token on its home network, newest first, limited to the history window; not withheld when attested figures are stale.
latest_reportrequiredBoardReportDetail | nullThe latest active attestation report for this token, rendered from its stated figures; null when no report is held or when attested figures are withheld as stale.
latest_statementrequiredBoardIssuerStatement | nullThe issuer's own most recent self-reported statement, which no accountant stands behind; null when the token has no self-reported source or none has been captured.
coverage_seriesrequiredBoardAttestedCoverage[]Attested coverage points, each dividing reserves by tokens outstanding as the same report states them at the same as-of date, newest first and limited to the history window; empty when withheld as stale.
reconciliationsrequiredBoardReconciliation[]Each attested supply figure set against ReserveBeat's measured on-chain supply nearest that as-of date; empty when attested figures are withheld as stale.
report_scorerequiredBoardDisclosureScore | nullThe active disclosure score of the latest active attestation report, counting the rubric dimensions it meets; null when unscored or withheld as stale.
series_scorerequiredBoardDisclosureScore | nullThe active disclosure score of this token's attestation series as a whole; null when the series has not been scored or attested figures are withheld as stale.
corroborationrequiredBoardCorroborationThe comparison of an attested fund figure against the net assets the named fund reports in its SEC N-MFP filing, or the stated reason no comparison is served.
history_window_daysrequiredintegerThe public history window, in days, that the coverage and supply series on this payload are limited to.
walled_history_pointsrequiredintegerHow many older attested coverage points sit outside the history window and were not served; a count only, and zero when attested figures are withheld.
first_snapshot_atrequiredstring (date-time) | nullWhen ReserveBeat took its first on-chain supply measurement of this token on its home network; null when no measurement has ever been taken.
supply_series_truncatedrequiredbooleanWhether supply_series serves fewer readings than are held, for any reason: the size cap or the history window.
supply_series_total_availablerequiredintegerHow many on-chain supply readings ReserveBeat holds for this token on its home network, before the size cap and the history window.
coverage_series_truncatedrequiredboolean | nullWhether coverage_series serves fewer points than are held, for any reason: the size cap or the history window; null when attested figures are withheld as stale.
coverage_series_total_availablerequiredinteger | nullHow many attested coverage points ReserveBeat holds for this token before the size cap and the history window; null when attested figures are withheld as stale.
reconciliations_truncatedrequiredboolean | nullWhether reconciliations serves fewer rows than are held because of the size cap; null when attested figures are withheld as stale.
reconciliations_total_availablerequiredinteger | nullHow many reconciliation rows the held attestation reports yield for this token before the size cap; null when attested figures are withheld as stale.
network_slicesrequiredBoardNetworkSlice[]ReserveBeat's latest measured supply on each published network for this token, one slice per network; empty when per-network slices are not published.
measured_floatrequiredBoardMeasuredFloat | nullThe sum of the published per-network measured slices, labelled with the weakest source tier among them; null when per-network slices are not published.
unmeasured_contextrequiredBoardUnmeasuredContext | nullThird-party context from a recorded DefiLlama pull, never a ReserveBeat measurement, stating what circulates on networks the board does not publish; null when unavailable or not published.
coverage_ratio_allrequiredBoardCoverageRatioAll | nullThe attested total reserve divided by the measured supply summed across all published networks at the attested as-of date; null when not published or when attested figures are withheld.
metarequiredV1MetaThe response envelope: disclaimer, terms, reuse licence, and the as-of dates of the figures this response carries.
restatementsrequiredBoardRevisionEntry[]Every correction-by-supersession event on this token's attestation reports and disclosure scores, newest first; empty when there are none or when the caller's plan does not carry this field.
plan_gatedrequiredV1PlanGated[]Fields this response withheld because the caller's plan does not carry them, each with a count; empty when nothing was withheld.

Other statuses 304 401 403 404 422 429 503

GET /v1/board/coverage

No key required

Parameters

GET /v1/board/coverage: Parameters
NameTypeDetails
X-API-Keystringheader
If-None-Matchstringheader

Response fields 200 V1BoardCoverage

GET /v1/board/coverage: Response fields
FieldTypeDescription
reviewrequiredBoardReviewStatusThe board's publication review state: whether a recorded review covers the current release, and when it was made.
tracked_token_countrequiredintegerEvery count the board states — the tokens on the board, the board filter's All, Current and Stale, and the attestation reports parsed — is a count of records held: never sampled, projected, or rounded. Current and Stale follow each token's attestation status; a token whose status is neither shows under All only.
tokens_with_attestation_seriesrequiredintegerThe number of tracked tokens for which at least one attestation report is held, a count of records.
tokens_currentrequiredintegerThe number of tracked tokens whose attestation status currently reads CURRENT, a count of records.
tokensrequiredBoardCoverageToken[]One row per tracked token stating what the board holds for it, how deep and how fresh, with null where nothing is held.
not_coveredrequiredBoardNotCoveredWhat the board does not cover, stated explicitly: tokens with no attestation series, plus the networks ingested and source tiers in use.
metarequiredV1MetaThe response envelope: disclaimer, terms, reuse licence, and the as-of dates of the figures this response carries, each stated as a range over the tokens it covers: the base member is the least recent of the tokens' newest dates and the _max member the most recent, and a date is null when the response carries no figure of that kind.

Other statuses 304 401 403 429 503

GET /v1/board/history

API key required

Parameters

GET /v1/board/history: Parameters
NameTypeDetails
daysinteger | nullquery
fromstring (date) | nullquery
tostring (date) | nullquery
granularitystring (hour | day | month)query, default hour
symbolstring | nullquery
X-API-Keystringheader, required
If-None-Matchstringheader

Response fields 200 V1BoardHistory

GET /v1/board/history: Response fields
FieldTypeDescription
reviewrequiredBoardReviewStatusThe board's publication review state: whether a recorded review covers the current release, and when it was made.
tokensrequiredBoardHistoryToken[]One history row per tracked token, or only the named token when a symbol was requested.
window_daysrequiredintegerThe length of the applied range in days, to minus from: the public window by default, or the span requested within the depth the plan allows.
walled_history_pointsrequiredintegerHow many attested coverage points, across all tokens in this response, sit outside the applied window and were not served; a count only.
granularityrequiredstring (hour | day | month)The time bucket applied to the measured supply series, one reading per hour, day or month; hour by default.
fromrequiredstring (date)The resolved start date of the range this response applied, as an ISO 8601 date; every point in a series lies on or after it, and an older newest point is served separately as latest_outside_range.
torequiredstring (date)The resolved end date of the range this response applied, inclusive, as an ISO 8601 date; today by default.
metarequiredV1MetaThe response envelope: disclaimer, terms, reuse licence, and the as-of dates of the figures this response carries, each stated as a range over the tokens it covers: the base member is the least recent of the tokens' newest dates and the _max member the most recent, and a date is null when the response carries no figure of that kind.

Other statuses 304 401 402 403 404 422 429 503

GET /v1/board/attestations

No key required

Parameters

GET /v1/board/attestations: Parameters
NameTypeDetails
X-API-Keystringheader
If-None-Matchstringheader

Response fields 200 V1BoardAttestationIndex

GET /v1/board/attestations: Response fields
FieldTypeDescription
reviewrequiredBoardReviewStatusThe board's publication review state: whether a recorded review covers the current release, and when it was made.
entriesrequiredBoardAttestationEntry[]One entry per active parsed attestation report, by token and period, newest period first for each token.
metarequiredV1MetaThe response envelope: disclaimer, terms, reuse licence, and the as-of dates of the figures this response carries, each stated as a range over the tokens it covers: the base member is the least recent of the tokens' newest dates and the _max member the most recent, and a date is null when the response carries no figure of that kind.

Other statuses 304 401 403 429 503

GET /v1/board/attestations/{symbol}/{period}

No key required

Parameters

GET /v1/board/attestations/{symbol}/{period}: Parameters
NameTypeDetails
symbolstringpath, required
periodstringpath, required
chainstring | nullquery
X-API-Keystringheader
If-None-Matchstringheader

Response fields 200 V1BoardAttestationPeriod

GET /v1/board/attestations/{symbol}/{period}: Response fields
FieldTypeDescription
symbolrequiredstringThe token's ticker symbol as tracked on the board, used as the path key for its routes.
token_namerequiredstringThe token's full name as recorded in ReserveBeat's token registry.
issuer_namerequiredstringThe issuer's short display name, such as the brand a reader knows the issuer by.
issuer_entity_namerequiredstring | nullThe issuing legal entity the token's attestation source names; null when no attestation source is recorded for this token, so no entity is stated.
chainrequiredstringThe home network of the token this attestation report is filed against.
periodrequiredstringThe report month of this attestation report, formatted YYYY-MM.
reportrequiredBoardReportDetailThe attestation report for this period, rendered from the figures and composition rows the document states.
accountant_namerequiredstring | nullThe accounting firm's name, verbatim as the document's text states it; null when no firm name was extracted, which is not by itself a statement that the document names none.
engagement_standard_textrequiredstring | nullThe professional standard the engagement was performed under, verbatim as the document's text states it; null when not found in the document's text.
engagement_typerequiredstring | nullThe kind of engagement, verbatim as the document's text describes it; null when not found in the document's text.
prior_periodrequiredstring | nullThe report month, formatted YYYY-MM, of the nearest earlier active report for this token; null when this is the first period held.
prior_as_ofrequiredstring (date) | nullThe latest as-of date the prior period's report states, as an ISO 8601 date; null when no earlier active report is held.
deltasrequiredBoardCompositionDelta[] | nullCategory-level differences between this period's stated composition and the prior period's, null on either side when a document does not state it; null when no prior period is held.
flagsrequiredBoardAttestationFlag[]Notable period-over-period changes derived from the stored reports, such as a restatement or a change of accountant, scope or template; empty when none apply.
restatementrequiredBoardRestatement | nullWhen this report supersedes an earlier parse of the same period, a pointer to the superseded record and the stated reason; null when it supersedes nothing.
scorerequiredBoardDisclosureScore | nullThe active disclosure score of this report, counting the rubric dimensions it meets; null when the report has not been scored.
quoterequiredBoardAttestationQuote | nullOne sentence of the source document quoted exactly as its text layer holds it, the accountant's opinion or the issuer management's assertion, at most 40 words, with the PDF page it is on; null when no such sentence was extracted from this document, which is never filled with a shortened or reworded one.
metarequiredV1MetaThe response envelope: disclaimer, terms, reuse licence, and the as-of dates of the figures this response carries.

Other statuses 304 401 403 404 422 429 503

GET /v1/board/revisions

No key required

Parameters

GET /v1/board/revisions: Parameters
NameTypeDetails
symbolstring | nullquery
X-API-Keystringheader
If-None-Matchstringheader

Response fields 200 V1BoardRevisions

GET /v1/board/revisions: Response fields
FieldTypeDescription
reviewrequiredBoardReviewStatusThe board's publication review state: whether a recorded review covers the current release, and when it was made.
entriesrequiredBoardRevisionEntry[]One entry per supersession on the board's public data families, attestation parses and disclosure scores, newest first: every token's, or the named token's when symbol is given.
metarequiredV1MetaThe response envelope: disclaimer, terms and reuse licence. The as-of dates are null, because a revision log states when each record was made rather than a current figure.

Other statuses 304 401 403 404 422 429 503

GET /v1/pricing

No key required

Parameters

GET /v1/pricing: Parameters
NameTypeDetails
X-API-Keystringheader
If-None-Matchstringheader

Response fields 200 V1Pricing

GET /v1/pricing: Response fields
FieldTypeDescription
metarequiredV1MetaThe response envelope: disclaimer, terms and reuse licence. The as-of dates are null, because a price list carries no board figure.
schedulerequiredV1PricingScheduleEntry[]Every priced shape of every endpoint that costs compute units, one row per shape; an endpoint not listed costs none. Only a successful (2xx) response is charged its row's compute units: a 304 and every refusal are charged nothing, though a 304 still takes its weight from the throughput budget.
metered_routesrequiredintegerHow many distinct endpoints the schedule prices.
public_window_daysrequiredintegerThe public history window, in days, that the one_token_public_window and one_token_full_depth shapes are measured against.
free_allowance_curequiredintegerThe compute units an account on the published free terms may use each calendar month (UTC) at no charge.
payg_rate_per_1000_curequiredstringThe published price of 1,000 compute units beyond the free allowance, as a decimal string in the currency named by currency; the same figure a cu_balance_exhausted refusal states.
currencyrequiredstringThe ISO 4217 code of the currency payg_rate_per_1000_cu is stated in.
throughputrequiredV1PricingThroughputThe throughput budget an account on the published free terms is served under.
throughput_raisedrequiredV1PricingThroughputThe throughput budget a raised account — on the enterprise plan, or holding a positive prepaid compute-unit balance — is served under, before any per-account override.
purchase_urlrequiredstringWhere to get more compute units without a key in hand: the pricing page's API access card while that page is published, and the API page's section on access beyond the free limits otherwise. A key's own checkout link is the purchase_url of GET /v1/account/balance and of a cu_balance_exhausted refusal.
terms_urlrequiredstringThe terms of service in force, as an absolute <web origin>/terms@<version> address; the same value as meta.terms.
licencerequiredV1PricingLicenceThe reuse terms a served row carries, by what paid for it.
purchaserequiredV1PricingPurchaseHow compute units are bought past the free allowance: in whole units of unit_cu, at payg_rate_per_1000_cu, and never fewer than minimum_units at a time.

Other statuses 304 401 403 429 503

GET /v1/account/balance

API key required

Parameters

GET /v1/account/balance: Parameters
NameTypeDetails
X-API-Keystringheader, required
If-None-Matchstringheader

Response fields 200 V1AccountBalance

GET /v1/account/balance: Response fields
FieldTypeDescription
metarequiredV1MetaThe response envelope: disclaimer, terms and reuse licence. The as-of dates are null, because an account balance carries no board figure.
balance_curequiredintegerThe prepaid compute units this key's account holds now, the same figure a cu_balance_exhausted refusal states; used only once the monthly allowance is spent.
balance_expires_atrequiredstring (date-time) | nullWhen the earliest prepaid compute units the account still holds lapse (ISO 8601 date-time); null when none are held or what is held does not lapse.
balance_lockedrequiredbooleanTrue while a dispute on one of the account's payments is open: balance_cu then reads 0, and purchase_url refuses with 409 balance_locked until the dispute closes.
free_allowance_curequiredintegerThe monthly allowance of free compute units this key's account is served under.
allowance_remaining_curequiredintegerHow many of this month's free compute units are left, never below zero; requests use them before balance_cu.
free_allowance_resets_atrequiredstring (date-time)When the monthly allowance starts again (ISO 8601 date-time): the start of next calendar month, UTC.
purchase_urlrequiredstringWhere to get more compute units: once self-serve purchase is open, a checkout link for this key's account that needs no sign-in, is valid for at least a day and buys the smallest purchase GET /v1/pricing states unless a units query parameter asks for more; before then, the pricing page's API access card while that page is published, and the API page's section on access beyond the free limits otherwise.
pricing_urlrequiredstringThe address of the machine-readable price list, GET /v1/pricing.

Other statuses 304 401 403 429 503

GET /v1/board/evidence/{symbol}/bundle

No key required

Parameters

GET /v1/board/evidence/{symbol}/bundle: Parameters
NameTypeDetails
symbolstringpath, required
X-API-Keystringheader
If-None-Matchstringheader

Response fields 200 application/zip

A zip archive rather than JSON, so there are no response fields to list here; what is inside it, and how to check it with the verification kit, is set out on the verify page.

Other statuses 304 401 403 404 422 429 503

Account endpoints

Account endpoints
EndpointAccessReturns
POST /account/signupNo key or sign-in required202 ApiAccountSignupAck
POST /account/password-resetNo key or sign-in required202 ApiAccountSignupAck
POST /account/password-reset/confirmNo key or sign-in required200 AccountRecoveryResult
POST /account/verify-emailNo key or sign-in required200 AccountRecoveryResult
POST /account/verify-email/resendSigned-in account required: the bearer token the sign-in endpoint returns202 ApiAccountSignupAck
POST /account/passwordSigned-in account required: the bearer token the sign-in endpoint returns200 PasswordChangeResult
POST /account/emailSigned-in account required: the bearer token the sign-in endpoint returns202 ApiAccountSignupAck
POST /account/email/confirmNo key or sign-in required200 AccountRecoveryResult
POST /account/closeSigned-in account required: the bearer token the sign-in endpoint returns200 AccountClosed
POST /account/loginNo key or sign-in required200 ApiAccountLoginResult
POST /account/logoutSigned-in account required: the bearer token the sign-in endpoint returns200 AccountSignedOut
POST /account/sessions/revokeSigned-in account required: the bearer token the sign-in endpoint returns200 AccountSessionsRevoked
GET /account/keysSigned-in account required: the bearer token the sign-in endpoint returns200 ApiKeyList
POST /account/keysSigned-in account required: the bearer token the sign-in endpoint returns201 ApiKeyIssued
POST /account/keys/{key_id}/revokeSigned-in account required: the bearer token the sign-in endpoint returns200 ApiKeySummary
POST /account/keys/{key_id}/labelSigned-in account required: the bearer token the sign-in endpoint returns200 ApiKeySummary
POST /account/keys/{key_id}/limitsSigned-in account required: the bearer token the sign-in endpoint returns200 ApiKeySummary
POST /account/keys/{key_id}/rotateSigned-in account required: the bearer token the sign-in endpoint returns201 ApiKeyRotated
GET /account/usageSigned-in account required: the bearer token the sign-in endpoint returns200 ApiUsageSummary
GET /account/purchasesSigned-in account required: the bearer token the sign-in endpoint returns200 ApiPurchaseHistory
GET /account/meSigned-in account required: the bearer token the sign-in endpoint returns200 ApiAccountSummary
POST /account/termsSigned-in account required: the bearer token the sign-in endpoint returns200 ApiAccountSummary
GET /account/webhooksSigned-in account required: the bearer token the sign-in endpoint returns200 WebhookEndpointList
POST /account/webhooksSigned-in account required: the bearer token the sign-in endpoint returns201 WebhookEndpointCreated
POST /account/webhooks/{endpoint_id}/revokeSigned-in account required: the bearer token the sign-in endpoint returns200 WebhookEndpointSummary
POST /account/webhooks/{endpoint_id}/rotate-secretSigned-in account required: the bearer token the sign-in endpoint returns200 WebhookSecretRotated
POST /account/webhooks/{endpoint_id}/testSigned-in account required: the bearer token the sign-in endpoint returns200 WebhookPingResult
GET /account/webhooks/deliveriesSigned-in account required: the bearer token the sign-in endpoint returns200 WebhookDeliveryList
POST /account/webhooks/deliveries/{delivery_id}/replaySigned-in account required: the bearer token the sign-in endpoint returns202 WebhookReplayAck
POST /account/agent/startNo key or sign-in required200 AgentConnectStarted
POST /account/agent/tokenNo key or sign-in required200 AgentConnectKey
GET /account/agent/requests/{user_code}Signed-in account required: the bearer token the sign-in endpoint returns200 AgentConnectRequestView
POST /account/agent/approveSigned-in account required: the bearer token the sign-in endpoint returns200 AgentConnectDecision

POST /account/signup

No key or sign-in required

Parameters

This endpoint takes no parameters.

Request body ApiAccountSignupRequest

POST /account/signup: ApiAccountSignupRequest
FieldTypeDescription
emailrequiredstring (email)The email address to register, stored trimmed and lowercased (at most 254 characters).
passwordrequiredstringThe password for the new account; it must be at least 12 characters long.
accept_termsbooleanMust be true to accept the currently published terms; when false or omitted the signup is refused and no account is created.
terms_versionstring | nullOptional terms version the caller read; when present it must equal the currently published version or the signup is refused, and when omitted the account is bound to the current version.
utmobject | nullOptional first-touch campaign tags: utm_source, utm_medium, utm_campaign, utm_term, utm_content and referrer_host. Other keys are ignored, and a value over 200 characters is cut. The tags are stored on a new account only and never cause a refusal.

Response fields 202 ApiAccountSignupAck

POST /account/signup: Response fields
FieldTypeDescription
statusstringAlways "accepted"; the response is identical whatever address was sent and whether or not it has an account, and anything that follows arrives by email to that address.

Other statuses 400 401 413 422 429 503

POST /account/password-reset

No key or sign-in required

Parameters

This endpoint takes no parameters.

Request body PasswordResetRequest

POST /account/password-reset: PasswordResetRequest
FieldTypeDescription
emailrequiredstring (email)The email address of the account whose password is lost, matched case-insensitively after surrounding whitespace is trimmed (at most 254 characters).

Response fields 202 ApiAccountSignupAck

POST /account/password-reset: Response fields
FieldTypeDescription
statusstringAlways "accepted"; the response is identical whatever address was sent and whether or not it has an account, and anything that follows arrives by email to that address.

Other statuses 400 401 413 422 429 503

POST /account/password-reset/confirm

No key or sign-in required

Parameters

This endpoint takes no parameters.

Request body PasswordResetConfirmRequest

POST /account/password-reset/confirm: PasswordResetConfirmRequest
FieldTypeDescription
tokenrequiredstringThe token from the password-reset email link; it works once and expires.
passwordrequiredstringThe new password; it must be at least 12 characters long.

Response fields 200 AccountRecoveryResult

POST /account/password-reset/confirm: Response fields
FieldTypeDescription
statusrequiredstring (email_verified | password_reset | password_changed | email_changed)What the completed action did: email_verified (the address is confirmed), password_reset (the new password is set; sign in with it, since a reset never signs you in), password_changed or email_changed (the account now uses the new email address; sign in with it, since every earlier session has ended).

Other statuses 400 401 413 422 503

POST /account/verify-email

No key or sign-in required

Parameters

This endpoint takes no parameters.

Request body VerifyEmailRequest

POST /account/verify-email: VerifyEmailRequest
FieldTypeDescription
tokenrequiredstringThe token from the confirmation email link; it works once and expires.

Response fields 200 AccountRecoveryResult

POST /account/verify-email: Response fields
FieldTypeDescription
statusrequiredstring (email_verified | password_reset | password_changed | email_changed)What the completed action did: email_verified (the address is confirmed), password_reset (the new password is set; sign in with it, since a reset never signs you in), password_changed or email_changed (the account now uses the new email address; sign in with it, since every earlier session has ended).

Other statuses 400 401 413 422 503

POST /account/verify-email/resend

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Response fields 202 ApiAccountSignupAck

POST /account/verify-email/resend: Response fields
FieldTypeDescription
statusstringAlways "accepted"; the response is identical whatever address was sent and whether or not it has an account, and anything that follows arrives by email to that address.

Other statuses 401 409 429 503

POST /account/password

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Request body ChangePasswordRequest

POST /account/password: ChangePasswordRequest
FieldTypeDescription
current_passwordrequiredstringThe account's current password, proved again so that a signed-in session alone cannot change it.
new_passwordrequiredstringThe new password; it must be at least 12 characters long.

Response fields 200 PasswordChangeResult

POST /account/password: Response fields
FieldTypeDescription
statusrequiredstringAlways password_changed: the new password is set and every account token issued before it is refused from now on.
tokenrequiredstringA fresh bearer token for the /account endpoints, replacing the one that made this request: every account token issued before the change, that one included, is refused from now on (401 invalid_token).

Other statuses 400 401 403 413 422 429 503

POST /account/email

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Request body ChangeEmailRequest

POST /account/email: ChangeEmailRequest
FieldTypeDescription
current_passwordrequiredstringThe account's current password, proved again so that a signed-in session alone cannot move the account to another address.
new_emailrequiredstring (email)The email address to move the account to, matched case-insensitively after surrounding whitespace is trimmed (at most 254 characters). Nothing changes until the link mailed to it is opened.

Response fields 202 ApiAccountSignupAck

POST /account/email: Response fields
FieldTypeDescription
statusstringAlways "accepted"; the response is identical whatever address was sent and whether or not it has an account, and anything that follows arrives by email to that address.

Other statuses 400 401 403 409 413 422 429 503

POST /account/email/confirm

No key or sign-in required

Parameters

This endpoint takes no parameters.

Request body ConfirmEmailChangeRequest

POST /account/email/confirm: ConfirmEmailChangeRequest
FieldTypeDescription
tokenrequiredstringThe token from the link mailed to the new email address; it works once and expires.

Response fields 200 AccountRecoveryResult

POST /account/email/confirm: Response fields
FieldTypeDescription
statusrequiredstring (email_verified | password_reset | password_changed | email_changed)What the completed action did: email_verified (the address is confirmed), password_reset (the new password is set; sign in with it, since a reset never signs you in), password_changed or email_changed (the account now uses the new email address; sign in with it, since every earlier session has ended).

Other statuses 400 401 413 422 503

POST /account/close

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Request body CloseAccountRequest

POST /account/close: CloseAccountRequest
FieldTypeDescription
current_passwordrequiredstringThe account's current password, proved again so that a signed-in session alone cannot close the account.

Response fields 200 AccountClosed

POST /account/close: Response fields
FieldTypeDescription
closed_atrequiredstring (date-time)When the account was closed (ISO 8601 date-time); from that instant every request carrying one of its sessions is refused as unauthenticated.
keys_revokedrequiredintegerHow many API keys were still live and were revoked by the close; keys revoked earlier are not counted.
endpoints_revokedrequiredintegerHow many webhook endpoints were not yet revoked and were revoked by the close, auto-disabled ones included; endpoints revoked earlier are not counted.
survivesrequiredstring (account_record | revoked_key_records | revoked_endpoint_records | delivery_records | usage_records | audit_records | email_sha256)[]Everything that outlives the close, as stable names: account_record (the closed account's row, with its email address removed), revoked_key_records and revoked_endpoint_records (revocation is a flag, never a deletion), delivery_records (the webhook deliveries made to its endpoints), usage_records and audit_records (append-only, which nobody can erase), and email_sha256 (the one-way hash of the address the close removed, kept on the audit record of the close).

Other statuses 400 401 403 413 422 429 503

POST /account/login

No key or sign-in required

Parameters

This endpoint takes no parameters.

Request body ApiAccountLoginRequest

POST /account/login: ApiAccountLoginRequest
FieldTypeDescription
emailrequiredstringThe account's email address, matched case-insensitively after surrounding whitespace is trimmed (at most 254 characters).
passwordrequiredstringThe account's password; a wrong address or password returns the same refusal, so the response never reveals which was wrong.

Response fields 200 ApiAccountLoginResult

POST /account/login: Response fields
FieldTypeDescription
tokenrequiredstringA bearer token for the /account endpoints, valid for a limited time; it authorizes account management only and is not an API key for /v1 requests.
accountrequiredApiAccountSummaryThe signed-in account's own summary, including its plan and terms-acceptance state as read at login.

Other statuses 400 401 413 422 429 503

POST /account/logout

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Response fields 200 AccountSignedOut

POST /account/logout: Response fields
FieldTypeDescription
statusrequiredstringAlways signed_out: the bearer token that made this request is refused from now until it would have expired (401 invalid_token). Your other sessions and every API key are untouched.

Other statuses 401 429 503

POST /account/sessions/revoke

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Response fields 200 AccountSessionsRevoked

POST /account/sessions/revoke: Response fields
FieldTypeDescription
statusrequiredstringAlways sessions_revoked: every account session issued before sessions_not_before, the one that made this request included, is refused from now on (401 invalid_token). Sign in again to start a new one.
sessions_not_beforerequiredstring (date-time)When every earlier session was signed out (ISO 8601 date-time). A token issued by a sign-in after it works as usual.
keys_affectedbooleanAlways false: API keys are not sessions, so every live key keeps working. Revoke a key on its own to stop it.

Other statuses 401 429 503

GET /account/keys

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Response fields 200 ApiKeyList

GET /account/keys: Response fields
FieldTypeDescription
keysrequiredApiKeySummary[]Every API key this account has issued, including revoked ones.

Other statuses 401 429 503

POST /account/keys

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Request body ApiKeyIssueRequest

Optional: this endpoint also accepts a request with no body.

POST /account/keys: ApiKeyIssueRequest
FieldTypeDescription
labelstring | nullAn optional free-text label to help you recognize the key later (at most 200 characters).
expires_atstring (date-time) | nullAn optional instant (ISO 8601 date-time with a time zone offset) after which the key stops working; it must lie in the future, and later only a rotation can bring it earlier. Omit it for a key that never expires.
scopesstring (account | board | pricing)[] | nullOptional: the /v1 route families this key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Omit it, or send null, for a key that may call every family; an empty list is refused.
cu_cap_monthinteger | nullOptional: the most compute units this key may spend in a calendar month (UTC), counting what the free allowance and the prepaid balance pay together; a request that would pass it is refused 429 key_cap_reached. Omit it, or send null, for no cap of the key's own; the account's allowance and balance still apply.

Response fields 201 ApiKeyIssued

POST /account/keys: Response fields
FieldTypeDescription
idrequiredstringThe unique identifier of the new API key, used to revoke it.
keyrequiredstringThe full API key, in the form rb_<8-character prefix>_<32-character secret>, sent in the X-API-Key header; it is shown only in this response and is not stored, so save it now.
key_prefixrequiredstringThe key's 8-character public prefix, which identifies it in listings after the full key is no longer shown.
labelrequiredstring | nullThe label supplied when the key was issued, or null if none was given.
created_atrequiredstring (date-time)When the key was issued (ISO 8601 date-time).
expires_atrequiredstring (date-time) | nullWhen the key stops working (ISO 8601 date-time), as requested at issue; null means it never expires.
scopesrequiredstring (account | board | pricing)[] | nullThe /v1 route families this key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Null means every family.
cu_cap_monthrequiredinteger | nullThe most compute units this key may spend in a calendar month (UTC); null means the key has no cap of its own.

Other statuses 400 401 409 413 422 429 503

POST /account/keys/{key_id}/revoke

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

POST /account/keys/{key_id}/revoke: Parameters
NameTypeDetails
key_idstringpath, required

Response fields 200 ApiKeySummary

POST /account/keys/{key_id}/revoke: Response fields
FieldTypeDescription
idrequiredstringThe API key's unique identifier.
key_prefixrequiredstringThe key's 8-character public prefix; the secret part of the key is never shown again after issue.
labelrequiredstring | nullThe key's label, as supplied when it was issued or last renamed, or null if it has none.
created_atrequiredstring (date-time)When the key was issued (ISO 8601 date-time).
revoked_atrequiredstring (date-time) | nullWhen the key was revoked (ISO 8601 date-time); null means the key has not been revoked.
last_used_atrequiredstring (date-time) | nullWhen the service last recorded a request made with this key (ISO 8601 date-time), counting every recorded request whether or not it was metered or succeeded; null means none has been recorded.
expires_atrequiredstring (date-time) | nullWhen the key stops working (ISO 8601 date-time), as chosen at issue or brought forward by a rotation; null means it never expires.
expiredrequiredbooleanTrue when the key is past its expires_at, judged on the service's clock when this response was made; an expired key is refused like a revoked one.
scopesrequiredstring (account | board | pricing)[] | nullThe /v1 route families this key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Null means every family.
cu_cap_monthrequiredinteger | nullThe most compute units this key may spend in a calendar month (UTC); null means the key has no cap of its own.

Other statuses 401 404 409 422 429 503

POST /account/keys/{key_id}/label

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

POST /account/keys/{key_id}/label: Parameters
NameTypeDetails
key_idstringpath, required

Request body ApiKeyRenameRequest

POST /account/keys/{key_id}/label: ApiKeyRenameRequest
FieldTypeDescription
labelstring | nullThe key's new label (at most 200 characters); null, an empty string or only spaces removes the label. Surrounding spaces are trimmed.

Response fields 200 ApiKeySummary

POST /account/keys/{key_id}/label: Response fields
FieldTypeDescription
idrequiredstringThe API key's unique identifier.
key_prefixrequiredstringThe key's 8-character public prefix; the secret part of the key is never shown again after issue.
labelrequiredstring | nullThe key's label, as supplied when it was issued or last renamed, or null if it has none.
created_atrequiredstring (date-time)When the key was issued (ISO 8601 date-time).
revoked_atrequiredstring (date-time) | nullWhen the key was revoked (ISO 8601 date-time); null means the key has not been revoked.
last_used_atrequiredstring (date-time) | nullWhen the service last recorded a request made with this key (ISO 8601 date-time), counting every recorded request whether or not it was metered or succeeded; null means none has been recorded.
expires_atrequiredstring (date-time) | nullWhen the key stops working (ISO 8601 date-time), as chosen at issue or brought forward by a rotation; null means it never expires.
expiredrequiredbooleanTrue when the key is past its expires_at, judged on the service's clock when this response was made; an expired key is refused like a revoked one.
scopesrequiredstring (account | board | pricing)[] | nullThe /v1 route families this key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Null means every family.
cu_cap_monthrequiredinteger | nullThe most compute units this key may spend in a calendar month (UTC); null means the key has no cap of its own.

Other statuses 400 401 404 409 413 422 429 503

POST /account/keys/{key_id}/limits

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

POST /account/keys/{key_id}/limits: Parameters
NameTypeDetails
key_idstringpath, required

Request body ApiKeyLimitsRequest

POST /account/keys/{key_id}/limits: ApiKeyLimitsRequest
FieldTypeDescription
scopesrequiredstring (account | board | pricing)[] | nullThe /v1 route families this key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Send null for every family; an empty list is refused. The key's next request is judged by the new value.
cu_cap_monthrequiredinteger | nullThe most compute units this key may spend in a calendar month (UTC), counting what it has already spent this month; send null for no cap of the key's own. The key's next request is judged by the new value.

Response fields 200 ApiKeySummary

POST /account/keys/{key_id}/limits: Response fields
FieldTypeDescription
idrequiredstringThe API key's unique identifier.
key_prefixrequiredstringThe key's 8-character public prefix; the secret part of the key is never shown again after issue.
labelrequiredstring | nullThe key's label, as supplied when it was issued or last renamed, or null if it has none.
created_atrequiredstring (date-time)When the key was issued (ISO 8601 date-time).
revoked_atrequiredstring (date-time) | nullWhen the key was revoked (ISO 8601 date-time); null means the key has not been revoked.
last_used_atrequiredstring (date-time) | nullWhen the service last recorded a request made with this key (ISO 8601 date-time), counting every recorded request whether or not it was metered or succeeded; null means none has been recorded.
expires_atrequiredstring (date-time) | nullWhen the key stops working (ISO 8601 date-time), as chosen at issue or brought forward by a rotation; null means it never expires.
expiredrequiredbooleanTrue when the key is past its expires_at, judged on the service's clock when this response was made; an expired key is refused like a revoked one.
scopesrequiredstring (account | board | pricing)[] | nullThe /v1 route families this key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Null means every family.
cu_cap_monthrequiredinteger | nullThe most compute units this key may spend in a calendar month (UTC); null means the key has no cap of its own.

Other statuses 400 401 404 409 413 422 429 503

POST /account/keys/{key_id}/rotate

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

POST /account/keys/{key_id}/rotate: Parameters
NameTypeDetails
key_idstringpath, required

Request body ApiKeyRotateRequest

Optional: this endpoint also accepts a request with no body.

POST /account/keys/{key_id}/rotate: ApiKeyRotateRequest
FieldTypeDescription
grace_secondsintegerHow many seconds the old key keeps working after the rotation, from 0 (it stops at once) to 604800 (seven days); 86400 (one day) when omitted. An old key that already ends sooner keeps its own end.
expires_atstring (date-time) | nullAn optional instant (ISO 8601 date-time with a time zone offset) after which the new key stops working; it must lie in the future. The old key's own end date is not carried over: omit this for a new key that never expires.

Response fields 201 ApiKeyRotated

POST /account/keys/{key_id}/rotate: Response fields
FieldTypeDescription
idrequiredstringThe unique identifier of the new API key.
keyrequiredstringThe full new API key, in the form rb_<8-character prefix>_<32-character secret>, sent in the X-API-Key header; it is shown only in this response and is not stored, so save it now.
key_prefixrequiredstringThe new key's 8-character public prefix, which identifies it in listings after the full key is no longer shown.
labelrequiredstring | nullThe new key's label, copied from the key it replaces; null if that key had none.
created_atrequiredstring (date-time)When the new key was issued (ISO 8601 date-time).
expires_atrequiredstring (date-time) | nullWhen the new key stops working (ISO 8601 date-time), as requested in the rotation; null means it never expires.
scopesrequiredstring (account | board | pricing)[] | nullThe /v1 route families the new key may call, copied from the key it replaces; null means every family.
cu_cap_monthrequiredinteger | nullThe new key's monthly compute-unit cap, copied from the key it replaces; null means no cap of its own. The new key's spending is counted from zero.
replacesrequiredApiKeySummaryThe key this rotation replaced, as it stands now: its expires_at is the end of the grace period, or its own earlier end.

Other statuses 400 401 404 409 413 422 429 503

GET /account/usage

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Response fields 200 ApiUsageSummary

GET /account/usage: Response fields
FieldTypeDescription
monthrequiredstringThe calendar month these counts cover, formatted YYYY-MM.
servedrequiredintegerThe number of successful (2xx) /v1 requests this account made this month. It is a count of requests; compute units are counted in cu_served.
quotarequiredintegerThe monthly allowance, in compute units, this account is currently served under, according to its plan and any limits set on the account.
quota_remainingrequiredintegerHow many compute units of this month's allowance are left: quota minus the compute units the allowance paid for this month, never below zero. A request is served only if its whole cost fits in what is left here plus balance_cu.
cu_servedrequiredintegerThe compute units this account's metered /v1 requests used this month, whether the monthly allowance or the prepaid balance paid for them. Only a successful (2xx) request on an endpoint that needs a key costs compute units; everything else costs none.
total_requestsrequiredintegerEvery metered /v1 request attributed to this account this month that was admitted, including those refused or failed while being served (a 404, a 422, a 5xx). A request refused at admission writes no record and is not counted: a 429 for the rate, a 402 for compute units, or a 503 because the limiter or the database could not be reached.
unmeteredrequiredintegerThe number of requests this account's keys made this month to endpoints that need no key. They are verified and recorded, never cost compute units, and are never counted in served, total_requests, cu_served or the allowance.
grand_totalrequiredintegerEvery request this account's keys made this month that was recorded, metered or not: exactly total_requests plus unmetered.
resets_atrequiredstring (date-time)When the monthly counters start again from zero (ISO 8601 date-time): the start of next calendar month, UTC.
by_keyrequiredApiUsageByKey[]This month's counts split by API key: one row per key that made at least one recorded request this month, and the rows' served, total_requests, unmetered and cu_served each add up exactly to the figures of the same name.
by_routerequiredApiUsageByRoute[]This month's counts split by request path and by whether the path is metered, busiest first; the rows' served, total_requests, unmetered and cu_served each add up exactly to the figures of the same name.
by_route_truncatedrequiredbooleanTrue when by_route lists only the busiest 100 paths and folds the rest into one final row whose route is null, so the sums still hold.
by_route_total_availablerequiredintegerHow many distinct path rows this month's requests produced, before any were folded together.
free_allowance_curequiredintegerThe monthly allowance of free compute units this account is served under; the same figure as quota, in the compute-unit name.
allowance_remaining_curequiredintegerHow many of this month's free compute units are left; the same figure as quota_remaining, in the compute-unit name. Requests use it before balance_cu.
balance_curequiredintegerThe prepaid compute units this account holds now, the same figure a cu_balance_exhausted refusal states; used only once the monthly allowance is spent.
balance_expires_atrequiredstring (date-time) | nullWhen the earliest prepaid compute units this account still holds lapse (ISO 8601 date-time); null when none are held or what is held does not lapse.
balance_lockedrequiredbooleanTrue while a dispute on one of this account's payments is open: the prepaid balance then reads 0 however much was bought, and compute units cannot be bought until the dispute closes.

Other statuses 401 429 503

GET /account/purchases

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Response fields 200 ApiPurchaseHistory

GET /account/purchases: Response fields
FieldTypeDescription
purchasesrequiredApiPurchase[]Every purchase of compute units this account has made, newest first, read from its compute-unit ledger alone. The Stripe invoice remains the receipt of record.

Other statuses 401 429 503

GET /account/me

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Response fields 200 ApiAccountSummary

GET /account/me: Response fields
FieldTypeDescription
idrequiredstringThe account's unique identifier.
emailrequiredstringThe account's email address as stored (trimmed and lowercased at signup).
activerequiredbooleanWhether the account is active; an inactive account cannot sign in and its API keys are refused.
created_atrequiredstring (date-time)When the account was created (ISO 8601 date-time).
terms_versionrequiredstring | nullThe terms version this account last accepted, verbatim as published at that time; null means the account has not accepted any terms version.
terms_accepted_atrequiredstring (date-time) | nullWhen the account accepted the terms version in terms_version (ISO 8601 date-time); null means no acceptance is on record.
terms_sha256requiredstring | nullThe SHA-256 of the exact terms text this account accepted, recorded with the version and the time; null means no acceptance is on record or it was recorded before text hashes were kept.
terms_current_versionrequiredstringThe terms version ReserveBeat publishes right now, which is not account state and is shown so it can be compared with terms_version.
terms_current_sha256requiredstringThe SHA-256 of the terms text published right now (RFC 8785 canonical JSON of the terms_* strings in the claim library, excluding the version), shown so it can be compared with terms_sha256.
terms_acceptance_requiredrequiredbooleanTrue when terms_version differs from terms_current_version; while true no new API key or webhook endpoint can be created, but existing keys keep working and can still be revoked.
planrequiredstring (free | enterprise)The contract this account is on: free for every account created through signup, or enterprise when an Enterprise contract is arranged on the account. Pay as you go is a prepaid compute-unit balance, not a plan.
raised_api_entitlementrequiredbooleanTrue when the account is on the enterprise plan or holds a positive prepaid compute-unit balance, read when this summary was built; a raised account is served the raised throughput, the restatement record and webhook event deliveries. Read this field rather than inferring it from plan.
email_verifiedrequiredbooleanTrue once the account's email address has been confirmed by a mailed link or a completed password reset; while false no new API key or webhook endpoint can be created, and signing in, reading and revoking are unaffected.
email_verified_atrequiredstring (date-time) | nullWhen the account's email address was confirmed (ISO 8601 date-time); null means it has not been confirmed.
google_linkedrequiredbooleanTrue when a Google account is linked to this account because it signed in with Google; its holder can then close the account, or set a password, by confirming with that Google account instead of entering the current password.

Other statuses 401 429 503

POST /account/terms

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Request body AcceptTermsRequest

POST /account/terms: AcceptTermsRequest
FieldTypeDescription
acceptbooleanMust be true to record acceptance of the currently published terms; when false or omitted the request is refused and nothing is recorded.
versionstring | nullOptional terms version the caller read; when present it must equal the currently published version or the request is refused, and when omitted the current version is accepted.

Response fields 200 ApiAccountSummary

POST /account/terms: Response fields
FieldTypeDescription
idrequiredstringThe account's unique identifier.
emailrequiredstringThe account's email address as stored (trimmed and lowercased at signup).
activerequiredbooleanWhether the account is active; an inactive account cannot sign in and its API keys are refused.
created_atrequiredstring (date-time)When the account was created (ISO 8601 date-time).
terms_versionrequiredstring | nullThe terms version this account last accepted, verbatim as published at that time; null means the account has not accepted any terms version.
terms_accepted_atrequiredstring (date-time) | nullWhen the account accepted the terms version in terms_version (ISO 8601 date-time); null means no acceptance is on record.
terms_sha256requiredstring | nullThe SHA-256 of the exact terms text this account accepted, recorded with the version and the time; null means no acceptance is on record or it was recorded before text hashes were kept.
terms_current_versionrequiredstringThe terms version ReserveBeat publishes right now, which is not account state and is shown so it can be compared with terms_version.
terms_current_sha256requiredstringThe SHA-256 of the terms text published right now (RFC 8785 canonical JSON of the terms_* strings in the claim library, excluding the version), shown so it can be compared with terms_sha256.
terms_acceptance_requiredrequiredbooleanTrue when terms_version differs from terms_current_version; while true no new API key or webhook endpoint can be created, but existing keys keep working and can still be revoked.
planrequiredstring (free | enterprise)The contract this account is on: free for every account created through signup, or enterprise when an Enterprise contract is arranged on the account. Pay as you go is a prepaid compute-unit balance, not a plan.
raised_api_entitlementrequiredbooleanTrue when the account is on the enterprise plan or holds a positive prepaid compute-unit balance, read when this summary was built; a raised account is served the raised throughput, the restatement record and webhook event deliveries. Read this field rather than inferring it from plan.
email_verifiedrequiredbooleanTrue once the account's email address has been confirmed by a mailed link or a completed password reset; while false no new API key or webhook endpoint can be created, and signing in, reading and revoking are unaffected.
email_verified_atrequiredstring (date-time) | nullWhen the account's email address was confirmed (ISO 8601 date-time); null means it has not been confirmed.
google_linkedrequiredbooleanTrue when a Google account is linked to this account because it signed in with Google; its holder can then close the account, or set a password, by confirming with that Google account instead of entering the current password.

Other statuses 400 401 413 422 429 503

GET /account/webhooks

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Response fields 200 WebhookEndpointList

GET /account/webhooks: Response fields
FieldTypeDescription
endpointsrequiredWebhookEndpointSummary[]Every webhook endpoint this account has registered, newest first, including revoked and disabled ones.

Other statuses 401 429 503

POST /account/webhooks

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Request body WebhookEndpointCreateRequest

POST /account/webhooks: WebhookEndpointCreateRequest
FieldTypeDescription
urlrequiredstringThe https:// address to receive signed event bodies; it must be publicly reachable and may not include a username or password, and addresses that resolve to private or local networks are refused.
event_kindsrequiredstring (attestation.landed | figure.moved)[]One or more event kinds to subscribe to, from attestation.landed and figure.moved; an empty list or an unknown kind is refused.
labelstring | nullAn optional free-text label to help you recognize the endpoint later (at most 200 characters).
token_symbolstring | nullAn optional tracked token symbol to limit events to that token; omit it to receive events for every token, and an unknown symbol is refused.

Response fields 201 WebhookEndpointCreated

POST /account/webhooks: Response fields
FieldTypeDescription
idrequiredstringThe new webhook endpoint's unique identifier.
urlrequiredstringThe https:// address that was registered, with surrounding whitespace removed.
labelrequiredstring | nullThe label supplied at registration, or null if none was given.
event_kindsrequiredstring (attestation.landed | figure.moved)[]The event kinds the endpoint is subscribed to, with duplicates removed.
token_symbolrequiredstring | nullThe token symbol the endpoint is limited to, as supplied; null means it receives events for every token.
secretrequiredstringThe signing secret (whsec_ followed by 64 hex characters) used to verify the X-ReserveBeat-Signature header; it is shown only in this response and is not stored, so save it now.
secret_versionrequiredintegerThe version of the signing secret just issued, which increases by one on each rotation.
created_atrequiredstring (date-time)When the endpoint was registered (ISO 8601 date-time).

Other statuses 400 401 402 404 409 413 422 429 503

POST /account/webhooks/{endpoint_id}/revoke

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

POST /account/webhooks/{endpoint_id}/revoke: Parameters
NameTypeDetails
endpoint_idstringpath, required

Response fields 200 WebhookEndpointSummary

POST /account/webhooks/{endpoint_id}/revoke: Response fields
FieldTypeDescription
idrequiredstringThe webhook endpoint's unique identifier.
urlrequiredstringThe https:// address ReserveBeat posts signed event bodies to.
labelrequiredstring | nullThe label supplied when the endpoint was registered, or null if none was given.
event_kindsrequiredstring (attestation.landed | figure.moved)[]The event kinds this endpoint is subscribed to: attestation.landed for a new or restated attestation report, figure.moved when an issuer's own stated figure changes.
token_symbolrequiredstring | nullThe token symbol this endpoint is limited to; null means it receives events for every token.
secret_versionrequiredintegerThe version of the endpoint's current signing secret, which increases by one on each rotation.
created_atrequiredstring (date-time)When the endpoint was registered (ISO 8601 date-time).
revoked_atrequiredstring (date-time) | nullWhen the account revoked this endpoint (ISO 8601 date-time); null means it has not been revoked.
disabled_atrequiredstring (date-time) | nullWhen ReserveBeat automatically disabled this endpoint after repeated failed deliveries (ISO 8601 date-time); null means it is not disabled, and rotating the secret re-enables it.
consecutive_failuresrequiredintegerThe number of failed or withheld automatic deliveries in a row since the last successful one; replays and test pings do not count. The endpoint is disabled automatically only once this reaches at least 14 and the run is at least 24 hours old, and the account is warned first. A delivery withheld because the endpoint stopped being owed the event before it was sent does not count.
last_attempt_atrequiredstring (date-time) | nullWhen the last automatic delivery to this endpoint concluded, successful or not (ISO 8601 date-time); null means none has concluded yet.
last_success_atrequiredstring (date-time) | nullWhen an automatic delivery to this endpoint last succeeded (ISO 8601 date-time); null means none has succeeded yet.
deliveringrequiredbooleanWhether ReserveBeat is currently sending events to this endpoint; when false, not_delivering_because says why.
not_delivering_becauserequiredstring | nullA plain-language reason the endpoint is not receiving events, such as revocation, an automatic disable, a plan without webhook event deliveries (such an endpoint still receives test pings), or a signing-key change that needs a secret rotation; null when delivering is true.
previous_secret_versioninteger | nullThe version of the retired secret that still signs deliveries beside the current one after a rotation; null when no overlap is live.
previous_secret_expires_atstring (date-time) | nullWhen the retired secret stops signing (ISO 8601 date-time); null when no overlap is live.
failing_sincestring (date-time) | nullWhen the current run of consecutive failed automatic deliveries began (ISO 8601 date-time); null when the last delivery succeeded or none has failed.
disable_warned_atstring (date-time) | nullWhen the account was warned that this endpoint will be disabled automatically if deliveries keep failing (ISO 8601 date-time); null when no warning is outstanding.
last_ping_atstring (date-time) | nullWhen a test ping was last sent to this endpoint (ISO 8601 date-time); null means none has been sent.
last_ping_statusinteger | nullThe HTTP status the receiver answered the last test ping with; null when no ping has been sent or no response was received.

Other statuses 401 404 409 422 429 503

POST /account/webhooks/{endpoint_id}/rotate-secret

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

POST /account/webhooks/{endpoint_id}/rotate-secret: Parameters
NameTypeDetails
endpoint_idstringpath, required

Response fields 200 WebhookSecretRotated

POST /account/webhooks/{endpoint_id}/rotate-secret: Response fields
FieldTypeDescription
idrequiredstringThe identifier of the webhook endpoint whose secret was rotated.
secretrequiredstringThe new signing secret, shown only in this response. The previous secret keeps verifying until previous_secret_expires_at, because every delivery until then is signed with both.
secret_versionrequiredintegerThe version number of the new signing secret.
previous_secret_versioninteger | nullThe version of the secret this rotation retired, which still signs every delivery beside the new one until previous_secret_expires_at; null when there is no overlap because the service signing key changed since that secret was issued.
previous_secret_expires_atstring (date-time) | nullWhen the retired secret stops signing (ISO 8601 date-time), 24 hours after the rotation; null when there is no overlap.

Other statuses 401 404 409 422 429 503

POST /account/webhooks/{endpoint_id}/test

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

POST /account/webhooks/{endpoint_id}/test: Parameters
NameTypeDetails
endpoint_idstringpath, required

Response fields 200 WebhookPingResult

POST /account/webhooks/{endpoint_id}/test: Response fields
FieldTypeDescription
endpoint_idrequiredstringThe identifier of the webhook endpoint the test ping was sent to.
ping_idrequiredstringThe test ping's identifier, also sent as its body id and in the X-ReserveBeat-Delivery header.
sent_atrequiredstring (date-time)When the test ping was sent (ISO 8601 date-time); its signature timestamp is this instant.
deliveredrequiredbooleanTrue when the receiver answered the test ping with a 2xx status.
response_statusrequiredinteger | nullThe HTTP status the receiver answered with; null when no response was received, for example when the connection failed or the address was refused.
errorrequiredstring | nullWhy the test ping was not delivered, in the dispatcher's own words; null when it was delivered.
signed_with_versionsrequiredinteger[]The secret versions the ping's X-ReserveBeat-Signature header carries a v1 value for, current first; two during a rotation overlap.

Other statuses 401 404 409 422 429 503

GET /account/webhooks/deliveries

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

GET /account/webhooks/deliveries: Parameters
NameTypeDetails
endpoint_idstring | nullquery
limitintegerquery, default 50
cursorstring | nullquery

Response fields 200 WebhookDeliveryList

GET /account/webhooks/deliveries: Response fields
FieldTypeDescription
deliveriesrequiredWebhookDeliverySummary[]One page of deliveries to this account's webhook endpoints, newest first.
next_cursorstring | nullAn opaque cursor to pass back as the cursor query parameter for the next page; null means this page is the end of the list.

Other statuses 400 401 404 422 429 503

POST /account/webhooks/deliveries/{delivery_id}/replay

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

POST /account/webhooks/deliveries/{delivery_id}/replay: Parameters
NameTypeDetails
delivery_idstringpath, required

Response fields 202 WebhookReplayAck

POST /account/webhooks/deliveries/{delivery_id}/replay: Response fields
FieldTypeDescription
idrequiredstringThe identifier of the replay request just recorded.
delivery_idrequiredstringThe identifier of the delivery being replayed.
event_idrequiredstringThe identifier of the event whose stored body will be sent again, unchanged apart from a fresh signature timestamp.
statusrequiredstringAlways PENDING: the replay is recorded and sent afterwards, and its outcome appears in the delivery's replays list.
requested_atrequiredstring (date-time)When the replay was requested (ISO 8601 date-time).

Other statuses 401 402 404 409 422 429 503

POST /account/agent/start

No key or sign-in required

Parameters

This endpoint takes no parameters.

Request body AgentConnectStartRequest

POST /account/agent/start: AgentConnectStartRequest
FieldTypeDescription
agent_namerequiredstringA name for the agent, shown to its person on the approval page as stated and used as the issued key's label (1 to 64 characters after surrounding whitespace is trimmed; control characters are refused).
scopesstring (account | board | pricing)[] | nullOptional: the /v1 route families the agent asks for: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Its person sees them as a starting point and decides; an empty list is refused.
cu_cap_monthinteger | nullOptional: a monthly compute-unit cap the agent suggests for its key. Its person sees it as a starting point and sets the cap the key gets.

Response fields 200 AgentConnectStarted

POST /account/agent/start: Response fields
FieldTypeDescription
device_coderequiredstringThe agent's secret for this request, sent to POST /account/agent/token to collect the key. Keep it private: only user_code is for the person.
user_coderequiredstringThe code to show the agent's person, in the form XXXX-XXXX; they type it at verification_uri while signed in to their account.
verification_urirequiredstringThe page where the agent's person signs in and types user_code.
verification_uri_completerequiredstringverification_uri with user_code already filled in, for a link the person can open directly.
expires_inrequiredintegerSeconds until this connect request expires; after that, the device code answers expired_token and the user code matches no pending request.
intervalrequiredintegerThe fewest seconds to wait between polls of POST /account/agent/token; a sooner poll is refused slow_down and adds 5 seconds to the interval.

Other statuses 400 401 413 422 429 503

POST /account/agent/token

No key or sign-in required

Parameters

This endpoint takes no parameters.

Request body AgentConnectTokenRequest

POST /account/agent/token: AgentConnectTokenRequest
FieldTypeDescription
device_coderequiredstringThe device_code from the start response.

Response fields 200 AgentConnectKey

POST /account/agent/token: Response fields
FieldTypeDescription
keyrequiredstringThe full API key, in the form rb_<8-character prefix>_<32-character secret>, sent in the X-API-Key header; it is delivered only in this response, once, and is not stored, so save it now.
key_idrequiredstringThe unique identifier of the new API key, under which it appears in its person's key list, where it can be revoked like any other key.
key_prefixrequiredstringThe key's 8-character public prefix, which identifies it in its person's key list after the full key is no longer shown.
labelrequiredstringThe key's label: the agent_name given when the connect request was started.
scopesrequiredstring (account | board | pricing)[] | nullThe /v1 route families this key may call, as its person approved them: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Null means every family.
cu_cap_monthrequiredintegerThe most compute units this key may spend in a calendar month (UTC), as its person approved it; never null, since every key issued this way is capped.
expires_atrequiredstring (date-time) | nullWhen the key stops working (ISO 8601 date-time), as its person approved it; null means it never expires.

Other statuses 400 401 413 422 503

GET /account/agent/requests/{user_code}

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

GET /account/agent/requests/{user_code}: Parameters
NameTypeDetails
user_codestringpath, required

Response fields 200 AgentConnectRequestView

GET /account/agent/requests/{user_code}: Response fields
FieldTypeDescription
agent_namerequiredstringThe name the agent gave itself when it started the request, exactly as stated; the service does not verify it.
scopesrequiredstring (account | board | pricing)[] | nullThe /v1 route families the agent asked for, a starting point its person may change before approving; null when it named none.
cu_cap_monthrequiredinteger | nullThe monthly compute-unit cap the agent suggested, a starting point its person may change; null when it suggested none. Approving still requires a cap.
expires_atrequiredstring (date-time)When this connect request expires (ISO 8601 date-time); after it, the code matches no pending request.

Other statuses 401 404 422 429 503

POST /account/agent/approve

Signed-in account required: the bearer token the sign-in endpoint returns

Parameters

This endpoint takes no parameters.

Request body AgentConnectApproveRequest

POST /account/agent/approve: AgentConnectApproveRequest
FieldTypeDescription
user_coderequiredstringThe code the agent showed its person, in the form XXXX-XXXX; hyphens, spaces and letter case are ignored (at most 16 characters).
decisionrequiredstring (approve | deny)approve to have the agent's key issued under your account with the scopes and cap sent here, or deny to refuse it; after either, the code matches no pending request.
scopesstring (account | board | pricing)[] | nullOptional: the /v1 route families the agent's key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Omit it, or send null, for a key that may call every family; an empty list is refused. A deny ignores it.
cu_cap_monthrequiredintegerRequired, and never null: the most compute units the agent's key may spend in a calendar month (UTC), counting what the free allowance and the prepaid balance pay together; a request that would pass it is refused 429 key_cap_reached. Every key issued this way carries a cap. A deny ignores the value.
expires_atstring (date-time) | nullAn optional instant (ISO 8601 date-time with a time zone offset) after which the agent's key stops working; it must lie in the future both now and when the agent collects the key. Omit it for a key that never expires.

Response fields 200 AgentConnectDecision

POST /account/agent/approve: Response fields
FieldTypeDescription
statusrequiredstring (approved | denied)approved when the agent's next poll will collect the key (the account's key rules are checked again then), or denied when the request was refused.

Other statuses 400 401 404 409 413 422 429 503

Objects

Nested objects are listed once under their own name and referred to by name where they appear, so a field that occurs on several endpoints is described in one place.

ApiAccountSummary

ApiAccountSummary
FieldTypeDescription
idrequiredstringThe account's unique identifier.
emailrequiredstringThe account's email address as stored (trimmed and lowercased at signup).
activerequiredbooleanWhether the account is active; an inactive account cannot sign in and its API keys are refused.
created_atrequiredstring (date-time)When the account was created (ISO 8601 date-time).
terms_versionrequiredstring | nullThe terms version this account last accepted, verbatim as published at that time; null means the account has not accepted any terms version.
terms_accepted_atrequiredstring (date-time) | nullWhen the account accepted the terms version in terms_version (ISO 8601 date-time); null means no acceptance is on record.
terms_sha256requiredstring | nullThe SHA-256 of the exact terms text this account accepted, recorded with the version and the time; null means no acceptance is on record or it was recorded before text hashes were kept.
terms_current_versionrequiredstringThe terms version ReserveBeat publishes right now, which is not account state and is shown so it can be compared with terms_version.
terms_current_sha256requiredstringThe SHA-256 of the terms text published right now (RFC 8785 canonical JSON of the terms_* strings in the claim library, excluding the version), shown so it can be compared with terms_sha256.
terms_acceptance_requiredrequiredbooleanTrue when terms_version differs from terms_current_version; while true no new API key or webhook endpoint can be created, but existing keys keep working and can still be revoked.
planrequiredstring (free | enterprise)The contract this account is on: free for every account created through signup, or enterprise when an Enterprise contract is arranged on the account. Pay as you go is a prepaid compute-unit balance, not a plan.
raised_api_entitlementrequiredbooleanTrue when the account is on the enterprise plan or holds a positive prepaid compute-unit balance, read when this summary was built; a raised account is served the raised throughput, the restatement record and webhook event deliveries. Read this field rather than inferring it from plan.
email_verifiedrequiredbooleanTrue once the account's email address has been confirmed by a mailed link or a completed password reset; while false no new API key or webhook endpoint can be created, and signing in, reading and revoking are unaffected.
email_verified_atrequiredstring (date-time) | nullWhen the account's email address was confirmed (ISO 8601 date-time); null means it has not been confirmed.
google_linkedrequiredbooleanTrue when a Google account is linked to this account because it signed in with Google; its holder can then close the account, or set a password, by confirming with that Google account instead of entering the current password.

ApiKeySummary

ApiKeySummary
FieldTypeDescription
idrequiredstringThe API key's unique identifier.
key_prefixrequiredstringThe key's 8-character public prefix; the secret part of the key is never shown again after issue.
labelrequiredstring | nullThe key's label, as supplied when it was issued or last renamed, or null if it has none.
created_atrequiredstring (date-time)When the key was issued (ISO 8601 date-time).
revoked_atrequiredstring (date-time) | nullWhen the key was revoked (ISO 8601 date-time); null means the key has not been revoked.
last_used_atrequiredstring (date-time) | nullWhen the service last recorded a request made with this key (ISO 8601 date-time), counting every recorded request whether or not it was metered or succeeded; null means none has been recorded.
expires_atrequiredstring (date-time) | nullWhen the key stops working (ISO 8601 date-time), as chosen at issue or brought forward by a rotation; null means it never expires.
expiredrequiredbooleanTrue when the key is past its expires_at, judged on the service's clock when this response was made; an expired key is refused like a revoked one.
scopesrequiredstring (account | board | pricing)[] | nullThe /v1 route families this key may call: account (the balance read), board (every board read, the evidence bundle included) and pricing (the price list). Null means every family.
cu_cap_monthrequiredinteger | nullThe most compute units this key may spend in a calendar month (UTC); null means the key has no cap of its own.

ApiPurchase

ApiPurchase
FieldTypeDescription
purchased_atrequiredstring (date-time)When the purchase's compute units were credited to this account: the instant its payment was recorded as paid, not when checkout was opened.
curequiredintegerHow many compute units the purchase credited to this account.
expires_atrequiredstring (date-time) | nullWhen this purchase's compute units lapse: twelve months after they were credited. Compute units spent before then are not affected.
lapsedrequiredbooleanTrue once expires_at has passed; any of this purchase's compute units still unspent at that instant no longer count toward balance_cu.
eventsrequiredApiPurchaseEvent[]Everything later recorded against this purchase in this account's compute-unit ledger, oldest first: refunds, a failed refund giving its compute units back, a dispute holding them and its close, and a recorded lapse.

ApiPurchaseEvent

ApiPurchaseEvent
FieldTypeDescription
kindrequiredstring (refund | refund_failed | dispute_lock | dispute_close | expiry | adjust)What happened: refund (a refund took compute units back), refund_failed (that refund failed and gave them back), dispute_lock (a dispute held them), dispute_close (the dispute closed: a positive delta_cu gives them back, zero means they stay removed), expiry (a recorded lapse) or adjust (any other correction recorded against the payment).
delta_curequiredintegerThe compute units this entry added to the balance (positive) or took from it (negative); zero when it moved none.
occurred_atrequiredstring (date-time)When this entry was recorded in the ledger.

ApiUsageByKey

ApiUsageByKey
FieldTypeDescription
key_idrequiredstringThe API key's unique identifier.
key_prefixrequiredstringThe key's 8-character public prefix.
labelrequiredstring | nullThe key's current label, or null if it has none.
servedrequiredintegerThis key's share of served.
total_requestsrequiredintegerThis key's share of total_requests.
unmeteredrequiredintegerThis key's share of unmetered.
cu_servedrequiredintegerThis key's share of cu_served.

ApiUsageByRoute

ApiUsageByRoute
FieldTypeDescription
routerequiredstring | nullThe request path as recorded, for example /v1/board/history; null on the one row that folds the paths beyond the listed ones (see by_route_truncated).
meteredrequiredboolean | nullWhether requests on this path went to an endpoint that needs a key and whose successful responses cost compute units (true), or were made with a key to an endpoint that needs none and cost nothing (false); null on the one row that folds the paths beyond the listed ones.
servedrequiredintegerThis path's share of served.
total_requestsrequiredintegerThis path's share of total_requests.
unmeteredrequiredintegerThis path's share of unmetered.
cu_servedrequiredintegerThis path's share of cu_served.

BoardAnchorInfo

BoardAnchorInfo
FieldTypeDescription
kindrequiredstring (DAILY | MONTHLY)Whether this is a DAILY or MONTHLY anchor of the evidence chain.
statusrequiredstring (PENDING | ANCHORED | LATE_ANCHOR | UNANCHORED)The anchor's timestamping state: PENDING until a timestamp authority responds, ANCHORED once one has, LATE_ANCHOR when that happened later than the late-anchor threshold.
covers_torequiredstring (date)The last date (ISO 8601) whose evidence records this anchor covers.
merkle_rootrequiredstringThe hex-encoded Merkle root over the hashes of the evidence records this anchor covers, which is the value that was timestamped.
anchored_atrequiredstring (date-time) | nullTimestamp (ISO 8601) at which the anchor received its first external timestamp; null while it is still pending.
cadence_staterequiredstring (CURRENT | LATE) | nullWhether the newest anchor is as recent as its kind's cadence says: on a daily anchor, CURRENT through the day after covers_to and LATE from the day after that; null on a monthly anchor, for which no cadence rule is published. status is unaffected: an old anchor stays ANCHORED.
days_behindrequiredinteger | nullWhole days from covers_to to today's UTC date by the database clock, on a daily anchor; null on a monthly anchor.
expected_next_anchor_byrequiredstring (date) | nullThe UTC date by which the next daily anchor is due: the day after covers_to. Null on a monthly anchor.

BoardAttestationEntry

BoardAttestationEntry
FieldTypeDescription
symbolrequiredstringThe token's ticker symbol as tracked on the board.
token_namerequiredstringThe token's full display name as held in ReserveBeat's registry.
issuer_namerequiredstringThe issuer's short display name as held in ReserveBeat's registry.
issuer_entity_namerequiredstring | nullThe issuing legal entity recorded for the token's attestation source; null when no attestation source is recorded for the token.
chainrequiredstringReserveBeat's registry name for the network this tracked token is listed on, for example ethereum.
periodrequiredstringThe report month this attestation covers, formatted YYYY-MM.
report_scoperequiredstring (SINGLE_TOKEN | CONSOLIDATED_GROUP)Whether the report covers this token alone (SINGLE_TOKEN) or several tokens of an issuer group together (CONSOLIDATED_GROUP).
composition_as_ofrequiredstring (date)The latest as-of date (ISO 8601) the report states, which is the date its reserve composition figures are shown at.
issued_onrequiredstring (date) | nullThe issue date (ISO 8601) the report states for itself; null when no issue date was found in the document.
restatedrequiredbooleanTrue when this active parse of the period supersedes an earlier parse of the same report period.
report_artifact_idrequiredstringIdentifier of the evidence record for this parsed report, usable to look up the report and verify its hash.
accountant_namerequiredstring | nullThe accounting firm named in the report's own text, exactly as written; null when no firm name was extracted, and metadata.accountant_name says why.
metadatarequiredobject (string → string (EXTRACTED | NOT_FOUND_IN_DOCUMENT | NOT_PROBED | NOT_IN_TEXT_LAYER | NOT_EXTRACTED | IMAGE_PINNED))For each report metadata field (accountant name, engagement standard text, engagement type), how this report's value was reached: EXTRACTED (the document's own words are held), NOT_FOUND_IN_DOCUMENT (the parser looked and the document's text does not state it), NOT_PROBED (the parser for this layout does not look for it, so no finding either way), NOT_IN_TEXT_LAYER (the document carries it only as an image, such as a signature), IMAGE_PINNED (the document carries it only as an image, and the value is the identical reading of every OCR engine the methodology names, checked by eye against the page crop before it was published), or NOT_EXTRACTED (the report was parsed before metadata was read).
assurancerequiredstring (ATTESTED | EXAMINED)The kind of third-party engagement behind the report: EXAMINED for an examination-grade engagement, ATTESTED for a limited assurance engagement, agreed-upon procedures or a report whose engagement type is not stated.
engagement_type_enumrequiredstring (EXAMINATION | LIMITED_ASSURANCE | AUP | AUDIT | GENIUS_EXAMINED_REPORT | SELF_REPORT) | nullThis report's engagement level, classified from its own engagement wording: EXAMINATION for an examination or reasonable assurance engagement, LIMITED_ASSURANCE for a limited assurance engagement; null when the report's text carries no engagement wording the vocabulary classifies.
captured_atrequiredstring (date-time) | nullWhen the board captured the report's source document (ISO 8601 date-time), the date capture_lag_days is measured to; null when no capture record is held.

BoardAttestationFlag

BoardAttestationFlag
FieldTypeDescription
kindrequiredstring (RESTATED | SCOPE_CHANGED | TEMPLATE_CHANGED | ACCOUNTANT_CHANGED | ENGAGEMENT_CHANGED | CATEGORY_ADDED | CATEGORY_REMOVED)Which notable change this report shows against the prior active report, or that it restates an earlier parse of the same month.
detailrequiredstringText detail of the change: the restatement reason, the prior and current values separated by an arrow, or the reserve category added or removed.

BoardAttestationQuote

BoardAttestationQuote
FieldTypeDescription
kindrequiredstring (OPINION | ASSERTION)Whose sentence it is: OPINION, the accountant's opinion; ASSERTION, the issuer management's own assertion.
textrequiredstringThe sentence, verbatim as the document's text layer holds it.
pagerequiredintegerThe 1-based page of the source PDF the sentence is on, counted in the file, not a page number printed on the page.

BoardAttestedCoverage

BoardAttestedCoverage
FieldTypeDescription
as_ofrequiredstring (date)The as-of date (ISO 8601) the attestation report states for both the reserve and the tokens-outstanding figure.
report_monthrequiredstringThe report month of the attestation these figures come from, formatted YYYY-MM.
total_reserve_usdrequiredstringThe total reserve figure in US dollars the attestation report states, as a decimal string exactly as stated.
tokens_outstandingrequiredstringThe tokens-outstanding figure the same attestation report states at the same as-of date, as a decimal string exactly as stated.
coverage_ratiorequiredstringThe total reserve figure an attestation report states, divided by the tokens-outstanding figure the same report states at the same as-of date, quantized to six decimal places with banker's rounding. Only a single-token-scope report produces one. A document stating just one of the two sides yields no ratio at all rather than a half-computed one, and no on-chain measurement ever enters the division.
source_tierrequiredstringAlways ISSUER_ATTESTED: both figures come from the issuer's attestation report, not from an on-chain measurement.
source_sha256requiredstringSHA-256 hash (hex) of the attestation report document these figures were read from.
source_urlrequiredstringThe URL the attestation report document was retrieved from.
report_artifact_idrequiredstringIdentifier of the evidence record for the parsed attestation report these figures come from.

BoardCompositionDelta

BoardCompositionDelta
FieldTypeDescription
row_kindrequiredstring (CATEGORY | TOTAL | LIABILITY)Which kind of line group this difference compares: the reserve TOTAL, the token LIABILITY, or one reserve CATEGORY.
categoryrequiredstring (US_TREASURY | TREASURY_REPO | GOVT_MMF | CASH | TIMING | OTHER | CORPORATE_BOND | PRECIOUS_METALS | BITCOIN | PUBLIC_EQUITY | SECURED_LOAN | OTHER_REPO | NON_US_TREASURY | TOTAL_RESERVE | TOKEN_LIABILITY)The normalized reserve category both periods are matched on, since the verbatim line labels can differ between reports.
labelrequiredstring | nullThe current report's verbatim line text when it states exactly one line in this group; null when it states none or several.
line_countrequiredintegerHow many lines the current report states in this group; 0 means the category is absent from the current period.
current_amountrequiredstring | nullThe sum of the current report's lines in this group, as a decimal string; null when the current period states no such line, never zero.
prior_labelrequiredstring | nullThe prior report's verbatim line text when it states exactly one line in this group; null when it states none or several.
prior_line_countrequiredintegerHow many lines the prior period's report states in this group; 0 means the category is absent from the prior period.
prior_amountrequiredstring | nullThe sum of the prior period's lines in this group, as a decimal string; null when the prior period states no such line, never zero.
deltarequiredstring | nullCurrent amount minus prior amount, computed by ReserveBeat as a decimal string; null unless both periods state the group in the same unit.
unitrequiredstring (USD | TOKEN) | nullThe unit shared by both sides, USD or TOKEN; null when the two periods state the group in different units, in which case no delta is given.

BoardCompositionRow

BoardCompositionRow
FieldTypeDescription
row_kindrequiredstring (CATEGORY | POSITION | TOTAL | LIABILITY)The kind of line: the reserve TOTAL, the token LIABILITY, a reserve CATEGORY, or a per-network POSITION of the token liability.
categoryrequiredstring (US_TREASURY | TREASURY_REPO | GOVT_MMF | CASH | TIMING | OTHER | CORPORATE_BOND | PRECIOUS_METALS | BITCOIN | PUBLIC_EQUITY | SECURED_LOAN | OTHER_REPO | NON_US_TREASURY | TOTAL_RESERVE | TOKEN_LIABILITY)ReserveBeat's normalized category for this line, used to compare reports whose verbatim labels differ.
labelrequiredstringThe report's own line text, exactly as written.
amountrequiredstringThe amount the report states on this line, as a decimal string at a fixed six decimal places: the digits are the report's own, and zeros past the precision the report printed are padding, since the printed precision is not held.
unitrequiredstring (USD | TOKEN)The unit the report states this amount in, never converted: USD on every reserve line; on a token-liability line, TOKEN when the report counts tokens and USD when it states the liability in dollars.

BoardCorroboration

BoardCorroboration
FieldTypeDescription
outcomerequiredstring (CORROBORATED | DIVERGENT | NOT_APPLICABLE | WITHHELD_STALE)Result of comparing an SEC N-MFP filing's net assets with the matching attested fund figure: corroborated within tolerance, divergent beyond it, not applicable, or withheld because the token's attested figures are withheld as stale.
reasonrequiredstring | nullPlain-text explanation of why no divergence was computed, given for NOT_APPLICABLE and WITHHELD_STALE outcomes; null when the comparison completed.
fund_namerequiredstring | nullName of the money market fund exactly as printed in the issuer's attestation report; null when no fund is mapped for this token or the token is withheld.
series_idrequiredstring | nullSEC EDGAR series identifier of the mapped fund; null when no fund is mapped for this token or the token is withheld.
attested_labelsrequiredstring[] | nullReserve category labels, verbatim from the attestation report, whose amounts are summed to form the attested fund figure; null when no fund is mapped or the token is withheld.
as_ofrequiredstring (date) | nullAttestation as-of date (ISO 8601) whose figure was compared with the filing; null when no attested figure was compared.
attested_amountrequiredstring | nullSum of the mapped category amounts stated in the attestation report at the as-of date, as a decimal string; null when no attested figure was compared.
filed_report_daterequiredstring (date) | nullReport date (ISO 8601) of the SEC N-MFP filing used; null when no filing has been pulled for this token or the token is withheld.
filed_net_assetsrequiredstring | nullFund net assets as stated in the SEC N-MFP filing, as a decimal string; null when no filing has been pulled for this token or the token is withheld.
divergence_bpsrequiredstring | nullThe absolute difference between the net-asset figure an SEC-filed N-MFP report states and the fund figure it is compared against, divided by the filed figure and expressed in basis points to two decimal places, against a per-issuer tolerance. A filing stating zero net assets yields no divergence figure, and none is stated when no comparison ran (NOT_APPLICABLE, WITHHELD_STALE). The comparison adjusts neither side and enters no ratio.
tolerance_bpsrequiredstring | nullMaximum divergence, in basis points as a decimal string, at or below which the outcome reads CORROBORATED; set per fund mapping, null when no fund is mapped or the token is withheld.
window_daysrequiredinteger | nullMaximum number of days allowed between the filing's report date and the attested as-of date for a comparison to run; null when no fund is mapped or the token is withheld.
accession_numberrequiredstring | nullSEC EDGAR accession number of the N-MFP filing used; null when no filing has been pulled for this token or the token is withheld.
dataset_urlrequiredstring | nullURL of the SEC N-MFP dataset the filing was extracted from; null when no filing has been pulled for this token or the token is withheld.
dataset_sha256requiredstring | nullSHA-256 hex digest of the downloaded SEC N-MFP dataset; null when no filing has been pulled for this token or the token is withheld.
filing_artifact_idrequiredstring | nullIdentifier of the evidence-chain artifact recording the extracted filing figures; null when no filing has been pulled for this token or the token is withheld.
corroboration_artifact_idrequiredstring | nullIdentifier of the evidence-chain artifact recording this comparison; null when no comparison has been recorded for this token or the token is withheld.
anchor_statusrequiredstring (PENDING | ANCHORED | LATE_ANCHOR | UNANCHORED) | nullExternal timestamp-anchoring state of the comparison artifact: pending, anchored, anchored late, or UNANCHORED when no anchor batch covers it yet; null when there is no comparison artifact.
compared_atrequiredstring (date-time) | nullWhen ReserveBeat recorded this comparison; null when no comparison has been recorded for this token or the token is withheld.

BoardCoverageRatioAll

BoardCoverageRatioAll
FieldTypeDescription
statusrequiredstring (RATIO | NO_CONTEMPORANEOUS_SNAPSHOT)RATIO when every published network has a supply measurement at the report's stated cutoff, or NO_CONTEMPORANEOUS_SNAPSHOT, in which case every figure here is null.
as_ofrequiredstring (date)ISO 8601 as-of date of the attested reserve figure used as the numerator.
report_monthrequiredstringThe report month, in YYYY-MM form, of the attestation report the reserve figure comes from.
total_reserve_usdrequiredstringThe total reserve figure the issuer's attestation report states, as a decimal string passed through verbatim.
measured_floatrequiredstring | nullThe sum of ReserveBeat's supply measurements across all published networks at the report's stated cutoff: each read at the last block at or before the cutoff, or, where no such read exists, taken from ReserveBeat's recorder snapshot within 15 minutes of it. Null when status is NO_CONTEMPORANEOUS_SNAPSHOT.
coverage_ratiorequiredstring | nullThe attested total reserve divided by the measured float across all published networks, six decimal places with banker's rounding; null when no ratio can be stated.
source_tierrequiredstring (STORAGE_PROVEN | ETH_CALL | RPC_QUORUM) | nullThe weakest evidence tier among the supply readings in the measured float; null when status is NO_CONTEMPORANEOUS_SNAPSHOT.
networksrequiredstring[]The published networks whose supply measurement at the report's stated cutoff is in the measured float.
networks_missingrequiredstring[]Published networks with no supply measurement at the report's stated cutoff (no read at the cutoff block and no snapshot within 15 minutes of it), which is why no ratio is stated.
eth_slice_supplyrequiredstring | nullThe Ethereum reading used in the measured float, as a decimal string; null when there is no Ethereum reading or no ratio is stated.
eth_slice_ratiorequiredstring | nullThe same attested reserve divided by the Ethereum reading alone, six decimal places with banker's rounding, shown beside the widened ratio; null when unavailable.
window_hoursrequirednumberThe hours on either side of the report's stated cutoff within which a recorder snapshot may stand in for a network whose supply was not read at the cutoff block. Always 0.25 (15 minutes).

BoardCoverageToken

BoardCoverageToken
FieldTypeDescription
symbolrequiredstringTicker symbol of the tracked token.
token_namerequiredstringDisplay name of the tracked token.
issuer_namerequiredstringShort display name of the token's issuer.
issuer_entity_namerequiredstring | nullLegal name of the issuing entity as recorded for the token's attestation source; null when no attestation source is recorded.
chainrequiredstringThe token's home network, the one every other field on this row was read from.
chainsrequiredstring[]The same list as chains_ingested, under the name this field was first published with; kept for one release and then retired with notice.
chains_ingestedrequiredstring[]Every network this board measures and publishes this symbol on, home network first; always present, with one element for a single-network token. It is not every network the issuer has deployed the token to.
snapshot_enabledrequiredbooleanWhether ReserveBeat takes on-chain supply readings for this token on its home network.
latest_snapshot_atrequiredstring (date-time) | nullTimestamp of the most recent on-chain supply reading held for this token; null when no reading has been taken.
latest_snapshot_tierrequiredstring (STORAGE_PROVEN | ETH_CALL | RPC_QUORUM) | nullVerification tier of the most recent on-chain supply reading: storage-proven, quorum contract call, or RPC quorum; null when no reading has been taken.
has_attestation_seriesrequiredbooleanWhether ReserveBeat holds at least one active parsed attestation report for this token.
template_idrequiredstring | nullIdentifier of the document layout template the latest active attestation report was parsed with; null when no report is held.
expected_cadencerequiredstring (MONTHLY | QUARTERLY | SEMIANNUAL | ANNUAL) | nullHow often attestation reports are expected for this token, as recorded for its attestation source; null when none is recorded and the default monthly cadence applies.
cadence_basisrequiredstring (ISSUER_STATED | OBSERVED) | nullWhether the expected cadence is stated in the issuer's own document or inferred from the observed report series; null when no cadence is recorded.
attestation_statusrequiredstring (CURRENT | STALE | WITHHELD_STALE | NONE)The age of a token's most recent report month, measured against the cadence expected for that token — the cadence recorded for its attestation source, or the default cadence when none is recorded. Past that limit the status reads STALE; within it, CURRENT. Past it by a further stated withholding grace, the status reads WITHHELD_STALE: the board stops serving that token's report-derived figures and states the withholding instead, while its on-chain supply still renders. By default the limit is forty-five days after the report month ends for a monthly cadence or when no cadence is recorded, one hundred and six days for a quarterly cadence, one hundred and ninety-eight days for a semiannual cadence and three hundred and eighty days for an annual cadence: each cadence's own period plus the same fourteen days of publication grace. The withholding grace is a further thirty days by default, so the figures are withheld past seventy-five days for a monthly cadence, one hundred and thirty-six days for a quarterly cadence, two hundred and twenty-eight days for a semiannual cadence and four hundred and ten days for an annual cadence. Every token card and token response states its own two limits, as stale_after_days and withheld_after_days. A token with no attestation series at all reads NONE, which is an absence rather than a value. The status states age, not lateness: an issuer publishing on its usual schedule can read STALE while its next report is not yet due, which is what overdue answers.
first_report_monthrequiredstring | nullEarliest report month (YYYY-MM) among the token's active attestation reports; null when none is held.
last_report_monthrequiredstring | nullLatest report month (YYYY-MM) among the token's active attestation reports; null when none is held.
report_countrequiredintegerNumber of active (not superseded) attestation reports held for this token; zero when none is held.
publication_lag_daysrequiredinteger | nullThe number of days between the latest as-of date a report states and the issue date the same report states. Both dates come from the document; neither is inferred.
capture_lag_daysrequiredinteger | nullThe number of days between a report's stated issue date and the moment ReserveBeat captured and hash-anchored the document. It measures this site's own latency, not the issuer's.
lag_basisrequiredstringWhat publication_lag_days and capture_lag_days are computed over: LATEST_REPORT, the newest active report's own dates, not a median over the series.
metadatarequiredobject (string → string (EXTRACTED | NOT_FOUND_IN_DOCUMENT | NOT_PROBED | NOT_IN_TEXT_LAYER | NOT_EXTRACTED | IMAGE_PINNED))For each report metadata field (accountant name, engagement standard text, engagement type), how the latest active report's value was reached: EXTRACTED, NOT_FOUND_IN_DOCUMENT (the parser looked and the document's text does not state it), NOT_PROBED (the parser for this layout does not look for it), NOT_IN_TEXT_LAYER (the document carries it only as an image), IMAGE_PINNED (the document carries it only as an image, and the value is the identical reading of every OCR engine the methodology names, checked by eye against the page crop before it was published), or NOT_EXTRACTED (parsed before metadata was read); empty when no report is held.
engagement_type_enumrequiredstring (EXAMINATION | LIMITED_ASSURANCE | AUP | AUDIT | GENIUS_EXAMINED_REPORT | SELF_REPORT) | nullThe engagement level of the token's newest attestation report, classified from the report's own engagement wording: EXAMINATION for an examination or reasonable assurance engagement, LIMITED_ASSURANCE for a limited assurance engagement; null when the token has no report or the report's text carries no engagement wording the vocabulary classifies.
missing_periodsrequiredstring[]Report months (YYYY-MM), oldest first, that the token's expected cadence called for between its first and last active report and for which no report is held: no active report covers them and they are not listed in published_unreadable_periods; empty when the series has no hole. Months after the last report are not listed.
published_unreadable_periodsrequiredBoardPublishedUnreadable[]Report months inside the series, oldest first, whose document the issuer published and ReserveBeat holds byte-exact but could not read: published by the issuer; not readable here. Each names the issuer's document and the SHA-256 of the held bytes. Nothing from these documents is used in any figure. Empty when there are none; a month leaves this list when a report for it is held.
overduerequiredboolean | nullWhether a token's next attestation report is late against the token's own schedule. The next report is expected by the end of the reporting period after the latest report month, stepped by the token's expected cadence, plus the publication lag that latest report itself showed. Overdue reads true once today's UTC date is past that expected-by date plus a stated grace window with no newer report held, and false until then. Held means captured by this board, so the grace window also absorbs the days between an issuer publishing and the board capturing. It is null when no expected-by date can be built: a token with no attestation series, or a latest report that states no issue date to measure a lag from.
next_report_expected_byrequiredstring (date) | nullThe date (ISO 8601) the token's next attestation report is expected by: the end of the reporting period after last_report_month, stepped by the expected cadence, plus the newest report's own publication lag. Null when the token has no attestation series or its newest report states no issue date.
overdue_grace_daysrequiredintegerThe days past next_report_expected_by allowed before overdue reads true, the same grace for every cadence; stated so the verdict can be recomputed.
stale_after_daysrequiredintegerThe days after the end of the latest report month past which attestation_status reads STALE, for this token's expected cadence; stated so the verdict can be recomputed.
withheld_after_daysrequiredintegerThe days after the end of the latest report month past which attestation_status reads WITHHELD_STALE and the report-derived figures are withheld, for this token's expected cadence: stale_after_days plus the withholding grace.

BoardDisclosureScore

BoardDisclosureScore
FieldTypeDescription
kindrequiredstring (REPORT | SERIES)What was scored: REPORT for a single attestation report, SERIES for the token's run of reports over time.
rubric_versionrequiredstringVersion identifier of the fixed disclosure rubric this score was produced under.
scored_atrequiredstring (date-time)Timestamp (ISO 8601) at which this score was recorded.
met_countrequiredintegerA count, not a rate: how many dimensions of a fixed, versioned rubric a published disclosure meets, rendered as the number met over the number of dimensions with the rubric version beside it. Every dimension records the stored fact it was decided from. A report that has never been scored renders no score rather than an assumed one.
dimension_countrequiredintegerThe number of rubric dimensions assessed, the denominator of the score.
dimensionsrequiredBoardScoreDimension[]Each rubric dimension with whether it is met, the stored fact it was decided from, and what would change it.
score_artifact_idrequiredstringIdentifier of the evidence record holding this score.
anchor_statusrequiredstring (PENDING | ANCHORED | LATE_ANCHOR | UNANCHORED) | nullWhether the score's evidence record is covered by an external timestamp anchor yet (UNANCHORED when no anchor covers it); null when no anchoring state is available.

BoardHeadline

BoardHeadline
FieldTypeDescription
totalrequiredstringThe exact sum of the total reserve figure each tracked token's latest active attestation report states. The addition runs over string decimals brought to a common scale, so no floating-point value ever touches a reserve figure, and a single unreadable input refuses the whole sum rather than publishing a partial one. As-of dates differ by issuer, a consolidated-scope report counts once at its stated scope, and a token with no attested series adds nothing. The homepage prints the sum split by scope: the part from single-token reports and the part from consolidated group reports, each with the tokens it covers.
scopesrequiredBoardHeadlineScope[]The sum split by the scope the reports state their figures at: the part from single-token reports first, then the part from consolidated group reports; a scope no counted report states is left out.

BoardHeadlineScope

BoardHeadlineScope
FieldTypeDescription
scoperequiredstring (SINGLE_TOKEN | CONSOLIDATED_GROUP)The scope this part covers: SINGLE_TOKEN for reports stating one token's figures, CONSOLIDATED_GROUP for reports stating an issuer's whole group of tokens.
totalrequiredstringThe exact sum of the total reserve the reports at this scope state, in USD, as a decimal string; a consolidated group report counts once however many tracked tokens it covers.
symbolsrequiredstring[]The symbol of every tracked token a counted report at this scope covers, in the order tokens lists them, each named once.

BoardHistoryGap

BoardHistoryGap
FieldTypeDescription
fromrequiredstring (date-time)Start of the first empty time bucket in this run, as an ISO 8601 timestamp; the run covers from this instant up to, not including, to.
torequiredstring (date-time)End of this run of empty buckets, exclusive: the start of the next bucket that holds a reading, or the end of the grid; on the pending run, the end of the bucket still in progress, so the value stays the same for every request made inside that bucket.
missing_pointsrequiredintegerHow many consecutive time buckets in this run hold no supply reading.
pendingbooleanTrue on the one run that reaches the moment of the request while its newest bucket is still in progress, so that bucket's reading is not yet due; false on every other run.

BoardHistoryPoint

BoardHistoryPoint
FieldTypeDescription
as_ofrequiredstring (date)The as-of date, as an ISO 8601 date, that the attestation report states for this coverage point.
coverage_ratiorequiredstringThe total reserve figure an attestation report states, divided by the tokens-outstanding figure the same report states at the same as-of date, quantized to six decimal places with banker's rounding. Only a single-token-scope report produces one. A document stating just one of the two sides yields no ratio at all rather than a half-computed one, and no on-chain measurement ever enters the division.

BoardHistoryToken

BoardHistoryToken
FieldTypeDescription
symbolrequiredstringThe token's ticker symbol as tracked on the board.
chainrequiredstringThe home network this token's series were read from.
seriesrequiredBoardHistoryPoint[]The token's attested coverage ratio points within the applied range, newest first; empty for consolidated-scope reports or when attested figures are withheld as stale.
supplyBoardSupplyFigure[] | nullReserveBeat's measured on-chain supply readings over the same range, one per time bucket, newest first; null when the request did not name a symbol, empty when none are held.
latest_outside_rangeBoardHistoryPoint | nullThe newest attested coverage point dated before the range, served only when no point falls inside the range, so the current figure stays visible without being counted as part of the range; null otherwise or when attested figures are withheld as stale.
supply_latest_outside_rangeBoardSupplyFigure | nullThe newest measured supply reading dated before the range, served only when the supply series holds no reading inside the range; null otherwise or when no supply series was requested.
expected_pointsinteger | nullHow many time buckets of the applied granularity the range spans, from the bucket holding its start up to the present or the end of the range, whichever is earlier; null when no supply series was requested.
served_pointsinteger | nullHow many time buckets of the supply series hold a reading; null when no supply series was requested.
gapsBoardHistoryGap[] | nullEvery run of consecutive empty time buckets in the supply series, oldest first, so the missing buckets sum to expected minus served points; empty when none is missing, null when no supply series was requested.
pending_pointsinteger | nullHow many buckets of the pending gap run are still in progress: 1 when that run exists, 0 otherwise, so missing points minus pending points counts only buckets whose reading was due; null when no supply series was requested.
supply_bucketsBoardSupplyBucket[] | nullThe full grid of time buckets for the supply series, newest first, each naming its start and, when a reading falls in it, that reading's time and supply; empty buckets carry null. Served only when the request names granularity and a symbol; null otherwise.

BoardIssuerStated

BoardIssuerStated
FieldTypeDescription
figurerequiredstringThe issuer's stated token amount for this network, quoted verbatim from its attestation report's per-network table and never split from a total.
as_ofrequiredstring (date)ISO 8601 as-of date the attestation report states for this figure, not the date of the measured slice beside it.
source_artifact_idrequiredstringIdentifier of the evidence artifact holding the captured bytes of the attestation report this figure is quoted from.

BoardIssuerStatement

BoardIssuerStatement
FieldTypeDescription
stated_as_ofrequiredstring (date)The as-of date (ISO 8601) the issuer's own statement gives for its figures, not the date ReserveBeat captured it.
stated_as_of_sourcerequiredstring (SURFACE | OPERATOR)Where the as-of date came from: SURFACE when it was read from the captured statement itself, OPERATOR when the captured file carries no date and a person entered it from the issuer's published page.
captured_atrequiredstring (date-time)Timestamp (ISO 8601) at which ReserveBeat captured the issuer's statement.
template_idrequiredstringIdentifier of the parsing template ReserveBeat used to read this issuer statement's layout.
issuer_entity_namerequiredstringThe issuing legal entity recorded for the source this self-reported statement was captured from.
assurancerequiredstringAlways SELF_REPORTED: these figures are the issuer's own statement about itself, with no accountant's engagement behind them.
engagement_type_enumrequiredstringAlways SELF_REPORT, stating explicitly that no third-party engagement produced this statement.
source_urlrequiredstringThe URL of the issuer's published statement that ReserveBeat captured.
source_sha256requiredstringSHA-256 hash (hex) of the exact captured statement bytes, so a reader can check a copy against it.
source_artifact_idrequiredstringIdentifier of the evidence record holding the captured statement bytes.
statement_artifact_idrequiredstringIdentifier of the evidence record holding the figures parsed from the captured statement.
figuresrequiredBoardIssuerStatementFigure[]The figures the issuer's statement prints, each with its verbatim label, amount, unit and scale.

BoardIssuerStatementFigure

BoardIssuerStatementFigure
FieldTypeDescription
figure_kindrequiredstring (TOKENS_IN_CIRCULATION | TOTAL_RESERVES | ISSUED | REDEEMED | TOTAL_AUTHORIZED | NOT_ISSUED | QUARANTINED)What the figure measures, such as tokens in circulation, total reserves, issuance or redemption flows, or a per-network balance.
labelrequiredstringThe issuer statement's own label for this figure, exactly as printed.
amountrequiredstringThe number exactly as the issuer's statement prints it, as a decimal string, before applying the magnitude given in scale.
unitrequiredstring (USD | EUR | TOKEN)The currency or token unit the issuer's statement declares for this figure.
scalerequiredstring (UNITS | THOUSANDS | MILLIONS | BILLIONS)The magnitude the statement declares for the amount, for example MILLIONS; multiply the amount by it to get units.
window_daysrequiredinteger | nullFor issuance and redemption flows, the length in days of the trailing window ending at the statement's as-of date; null on a balance.
networkstring | nullReserveBeat's registry name for the network this figure belongs to; null on a token-wide figure or when the statement names a network ReserveBeat does not recognize.
network_labelstring | nullThe issuer statement's own identifier for the network this figure belongs to, exactly as printed; null on a token-wide figure.

BoardLatestStated

BoardLatestStated
FieldTypeDescription
total_reserverequiredstring | nullThe total reserve the report states, in USD, as a decimal string exactly as the composition table carries it; null when the report states none.
liabilityrequiredstring | nullThe liability the report states, as a decimal string exactly as the composition table carries it; null when the report states none.
liability_unitrequiredstring (USD | TOKEN) | nullThe unit the report states the liability in: TOKEN when it counts tokens, USD when it states dollars; null when no liability is stated.
as_ofrequiredstring (date)The report's newest as-of date (ISO 8601) carrying these figures.
report_monthrequiredstringThe report month (YYYY-MM) of the report these figures come from.
scoperequiredstring (SINGLE_TOKEN | CONSOLIDATED_GROUP)The scope the report states its figures at: SINGLE_TOKEN for this token alone, CONSOLIDATED_GROUP for the issuer's whole group of tokens, counted once.
source_tierrequiredstringAlways ISSUER_ATTESTED: the figures are the issuer's attested report, passed through verbatim.
source_sha256requiredstringSHA-256 of the source document these figures were read from.
source_urlrequiredstringWhere the source document was retrieved from.
report_artifact_idrequiredstringIdentifier of the evidence artifact recording this parsed report.

BoardMeasuredChain

BoardMeasuredChain
FieldTypeDescription
chainrequiredstringThe network's name in the board registry.
sourcerequiredstring (CUTOFF_READ | SNAPSHOT)How this network's supply at the cutoff was measured. CUTOFF_READ: read at the last block at or before the stated cutoff. SNAPSHOT: ReserveBeat's recorder snapshot within 15 minutes of the cutoff, which is used only when no cutoff read exists.
supplyrequiredstringThis network's measured total supply, in whole tokens as a decimal string.
block_numberrequiredinteger | nullThe block this network's supply was measured at. Null when the stored measurement names none.
measured_atrequiredstring (date-time) | nullTimestamp (ISO 8601) of that block, or of the snapshot. Null when the stored measurement names none.
tierrequiredstring (STORAGE_PROVEN | ETH_CALL | RPC_QUORUM) | nullHow this network's supply was verified, from strongest (storage proof) to weakest (provider quorum). Null when the stored measurement names none.
artifact_idrequiredstring | nullIdentifier of the evidence record holding this network's measurement. Null when none is stored.

BoardMeasuredFloat

BoardMeasuredFloat
FieldTypeDescription
total_supplyrequiredstringThe sum of the latest measured supply across every published network for this token, as a decimal string; late slices are included, not dropped.
source_tierrequiredstring (STORAGE_PROVEN | ETH_CALL | RPC_QUORUM)The weakest evidence tier among the summed slices, because a total is only as strong as its weakest part.
as_ofrequiredstring (date-time)ISO 8601 timestamp of the oldest slice in the sum, because a total is no fresher than its stalest reading.
networksrequiredstring[]The published networks whose slices are included in this sum.
slice_countrequiredintegerHow many network slices are included in this sum.
late_networksrequiredstring[]Networks whose slice in the sum is currently SNAPSHOT_LATE; they are still summed, and an empty list means none are late.
history_weakest_tierrequiredstring (STORAGE_PROVEN | ETH_CALL | RPC_QUORUM)The weakest evidence tier appearing anywhere in the history of any network included in the sum, the label for a chart of the combined series.
all_networks_measuredrequiredboolean | nullWhether the recorded third-party DefiLlama network split shows no circulating value outside the published networks; null when that recorded split cannot answer for this token.

BoardNetworkSlice

BoardNetworkSlice
FieldTypeDescription
networkrequiredstringReserveBeat's registry name for the published network this slice was measured on, for example ethereum.
familyrequiredstring (EVM | TRON | SOLANA | XRPL | STELLAR | HEDERA)The blockchain family of this network, which determines how the supply reading and its pin are taken.
addressrequiredstringThe token's contract or issuance address on this network, as recorded in ReserveBeat's registry.
decimalsrequiredintegerThe number of decimals the token uses on this network, which can differ between networks for the same symbol.
total_supplyrequiredstringThe measured total supply on this network as a decimal string, scaled by this slice's own decimals from the base-unit reading.
total_supply_base_unitsrequiredstringThe measured total supply on this network as an integer string in the token's base units, exactly as read on-chain.
source_tierrequiredstring (STORAGE_PROVEN | ETH_CALL | RPC_QUORUM)The evidence tier of this reading: storage-proven, a quorum contract call, or RPC-quorum agreement only, from strongest to weakest.
pin_kindrequiredstring (BLOCK_HASH | BLOCK_ID | SLOT_BLOCKHASH | LEDGER_HASH | LEDGER_SEQUENCE_HASH | MIRROR_BLOCK_HASH) | nullThe kind of chain-native reference the reading was pinned to, such as a block hash, a Solana slot and blockhash, or a ledger hash; null when the reading recorded no pin.
pin_refrequiredstring | nullThe chain-native reference value the reading was pinned to, in the form named by pin_kind; null when the reading recorded no pin.
block_numberrequiredintegerThe network's own position counter at the reading: a block number, slot, or ledger index depending on the network family.
as_ofrequiredstring (date-time)ISO 8601 timestamp of the block or ledger the reading was taken at, not the time ReserveBeat wrote it.
age_secondsrequiredinteger | nullSeconds between this reading's as_of and the moment the response was built, measured by the database clock; null if no age could be measured.
freshnessrequiredstring (CURRENT | SNAPSHOT_LATE | NONE)Freshness verdict for this reading: CURRENT, SNAPSHOT_LATE once it is more than three hours old, or NONE when no age is available.
legsrequiredinteger | nullHow many independent providers returned this reading, taken from the reading's own quorum record; null when no count is held, never zero, with the reason in legs_absence.
legs_absencestring (RETENTION_EXPIRED | NO_QUORUM_RECORD | PAYLOAD_UNREADABLE | NO_PARTICIPANT_LIST) | nullWhy legs is null for this reading, such as the quorum record having been removed under retention or never having existed; null whenever legs carries a count.
snapshot_artifact_idrequiredstring | nullIdentifier of the evidence artifact recording this supply snapshot; null when the reading has no snapshot artifact.
quorum_log_artifact_idrequiredstring | nullIdentifier of the evidence artifact recording the provider quorum behind this reading; null when the reading cites no quorum record.
storage_proof_artifact_idrequiredstring | nullIdentifier of the evidence artifact holding the storage proof for this reading; null when the reading has no storage proof.
first_measured_atrequiredstring (date-time)ISO 8601 timestamp of the earliest reading ReserveBeat holds for this token on this network, marking when measurement there began.
history_pointsrequiredintegerThe number of supply readings ReserveBeat holds for this token on this network.
history_tiersrequiredstring (STORAGE_PROVEN | ETH_CALL | RPC_QUORUM)[]Every distinct evidence tier that appears anywhere in this network's reading history, strongest first, with no dates attached.
history_weakest_tierrequiredstring (STORAGE_PROVEN | ETH_CALL | RPC_QUORUM)The weakest evidence tier appearing anywhere in this network's reading history, the honest label for a chart of the whole series.
issuer_statedrequiredBoardIssuerStated | nullThe issuer's own figure for this network as stated in its latest active attestation report, shown beside the measurement and never combined with it; null when that report states no figure for this network.
self_reportedBoardSelfReportedNetwork | nullThe issuer's own self-reported figures for this network from its machine-readable file, not attested by any accountant; null when no active statement names this network.

BoardNotCovered

BoardNotCovered
FieldTypeDescription
chains_ingestedrequiredstring[]Every network on which the board publishes tracked tokens.
tokens_without_attestation_seriesrequiredstring[]Symbols of tracked tokens for which ReserveBeat holds no attestation report series.
source_tiers_in_userequiredstring (STORAGE_PROVEN | ETH_CALL | RPC_QUORUM)[]Every evidence tier that appears in supply readings on published networks, so a reader can see which tiers the board's figures rest on.

BoardPublishedUnreadable

BoardPublishedUnreadable
FieldTypeDescription
periodrequiredstringThe report month (YYYY-MM) the issuer's document was published for.
document_urlrequiredstringAddress of the document as the issuer's own reporting page lists it.
document_sha256requiredstringSHA-256 hex digest of the document bytes ReserveBeat holds, so a reader can fetch the issuer's document and compare.
captured_atrequiredstring (date-time)ISO 8601 timestamp when ReserveBeat captured the document's bytes.

BoardReconciliation

BoardReconciliation
FieldTypeDescription
as_ofrequiredstring (date)The as-of date (ISO 8601) that the attestation report states for the attested supply figure on this row.
attested_scoperequiredstring (ETHEREUM | NETWORK | TOTAL)What the report itemized for this comparison: ETHEREUM when it states a per-network liability row naming the token's network and that network is Ethereum (a direct comparison), NETWORK when it states such a row for a token whose home network is another one (the same direct comparison, on that network), TOTAL when it states only a whole-token liability (a bound check of the supply measured on the token's home network against that total).
attested_supplyrequiredstringThe tokens-outstanding figure the attestation report states for this scope at this as-of date, as a decimal string exactly as the report states it.
measured_supplyrequiredstring | nullThe on-chain total supply ReserveBeat measured at the stated cutoff on the token's own (home) network, in whole tokens as a decimal string. For TOTAL scope it is that network's slice only, checked as an upper bound against the whole-token total; the token's other networks are not measured into it. Null when no result is issued.
measured_atrequiredstring (date-time) | nullTimestamp (ISO 8601) of the measurement: the last block at or before the stated cutoff when the supply was read there, or the recorder snapshot's time when a snapshot within 15 minutes of the cutoff stood in. Null when nothing was measured.
measured_blockrequiredinteger | nullNumber of the block the token's home-network supply was measured at: the last block whose timestamp is at or before the stated cutoff, or the snapshot's block when a snapshot stood in. Null when nothing was measured.
measured_tierrequiredstring (STORAGE_PROVEN | ETH_CALL | RPC_QUORUM) | nullHow the supply at the cutoff was verified, from strongest (storage proof) to weakest (provider quorum). Null when nothing was measured.
measured_artifact_idrequiredstring | nullIdentifier of the evidence record behind the token's home-network measurement: the supply read at the cutoff block, or the snapshot that stood in for it. Null when nothing was measured.
pairing_offset_hrequirednumber | nullHours from the document's stated cutoff instant (cutoff_at) to measured_at, to two decimals. Zero or a few seconds negative when the supply was read at the cutoff block; within plus or minus 0.25 when a snapshot stood in. Null when nothing was measured.
cutoff_atrequiredstring (date-time) | nullThe instant the attesting document states its figures are as of: the as-of date at the document family's stated time of day, in its stated zone, expressed in UTC (for example 5:00 PM Eastern Time, or 11:59 PM Coordinated Universal Time). Supply is read at the last block at or before this instant. Null when the document family states no time of day; nothing is then measured, and the row reads NO_CONTEMPORANEOUS_SNAPSHOT.
deltarequiredstring | nullAn attested figure set against the token's own on-chain supply, read at the last block at or before the time the report states its figures are as of. Where the document itemizes the token's own network, the delta is the supply read there minus that itemized figure, with its ratio to the attested figure quantized to six decimal places against a published tolerance. Where the document states only a total, the supply read on the token's own network is bound-checked against that total instead of differenced, with that network's share of the total beside it. Without a read at that block, ReserveBeat's recorder snapshot within fifteen minutes of the stated time stands in, and the row says which. Where neither exists — the report states no time of day, the read has not landed yet, or the read was refused — the row states the absence and the reason, never a pass.
delta_ratiorequiredstring | nullMeasured supply minus attested supply, divided by attested supply, as a decimal string at six decimal places with banker's rounding; null for TOTAL scope, when no supply was read at the cutoff, or when the attested figure is zero.
eth_share_of_attestedrequiredstring | nullThe supply measured at the cutoff on the token's home network, divided by the report's whole-token total, as a decimal string at six decimal places with banker's rounding. Present only for TOTAL scope. Null otherwise, or when no result is issued.
statusrequiredstring (RECONCILED | WITHIN_BOUND | EXCEEDS_TOLERANCE | NO_CONTEMPORANEOUS_SNAPSHOT)The comparison outcome. RECONCILED (ETHEREUM or NETWORK scope): the supply measured at the stated cutoff is within the tolerance of the attested figure. WITHIN_BOUND (TOTAL scope): the home-network supply measured at the cutoff does not exceed the attested whole-token total plus the tolerance, a bound check rather than a reconciliation. EXCEEDS_TOLERANCE: the comparison does not hold. NO_CONTEMPORANEOUS_SNAPSHOT: nothing was measured at the cutoff (no_verdict_reason says why).
tolerancerequiredstringThe relative tolerance the comparison was judged against, as a decimal string fraction (by default 0.005, i.e. half a percent).
recon_window_hrequirednumberThe window in hours on either side of the document's stated cutoff instant (cutoff_at) within which a recorder snapshot may stand in when the supply was not read at the cutoff block. Always 0.25 (15 minutes).
measurement_basisrequiredstring (CUTOFF_READ | SNAPSHOT) | nullHow the measured supply was obtained. CUTOFF_READ: read at the last block at or before the stated cutoff, through at least two independent providers that must agree byte for byte. SNAPSHOT: ReserveBeat's recorder snapshot within 15 minutes of the cutoff, which is used only where no cutoff read exists. Null when nothing was measured.
no_verdict_reasonrequiredstring (CUTOFF_UNKNOWN | READ_PENDING | CHAIN_UNREADABLE) | nullWhy no result is issued on this row. CUTOFF_UNKNOWN: the report states no cutoff time of day. READ_PENDING: the supply at the cutoff has not been read yet, and no snapshot within 15 minutes of it exists. CHAIN_UNREADABLE: the token's home network could not be read at the cutoff and has no snapshot within 15 minutes of it (see unread_chains). Null when a result is issued.
measured_chainsrequiredBoardMeasuredChain[]The measurement behind measured_supply: the token's own (home) network, for both scopes, with how it was measured (source), its supply, block, timestamp, tier and evidence record. Empty when nothing was measured.
unread_chainsrequiredBoardUnreadChain[]The token's home network when it has no measurement at the cutoff (no read at the cutoff block and no snapshot within 15 minutes of it), with its reason. Empty when a result is issued, or when the cutoff itself is unknown.

BoardReportDetail

BoardReportDetail
FieldTypeDescription
report_monthrequiredstringMonth the attestation report covers, as YYYY-MM, taken from the document text.
template_idrequiredstringIdentifier of the document layout template this report was parsed with.
issued_onrequiredstring (date) | nullIssue date (ISO 8601) the report states; null when the document states none.
as_of_datesrequiredstring (date)[]Every as-of date (ISO 8601) the report states figures for, in ascending order.
composition_as_ofrequiredstring (date)The latest stated as-of date (ISO 8601), the date the composition rows shown here are taken from.
compositionrequiredBoardCompositionRow[]Total, liability and category rows, plus token-liability position rows, that the attestation report states at the composition as-of date, with amounts verbatim as stated.
position_rows_totalrequiredintegerTotal number of composition rows stored for this report across all its as-of dates, including position-level rows not rendered in the composition list.
report_scoperequiredstring (SINGLE_TOKEN | CONSOLIDATED_GROUP)Whether the report covers this token alone or a consolidated group of the issuer's tokens.
source_tierrequiredstringSource voice of these figures, always ISSUER_ATTESTED: stated in an issuer's attestation report, not measured by ReserveBeat.
assurancerequiredstring (ATTESTED | EXAMINED)What stands behind these figures: EXAMINED when the document's engagement wording classifies as an examination or audit, otherwise ATTESTED.
engagement_type_enumrequiredstring (EXAMINATION | LIMITED_ASSURANCE | AUP | AUDIT | GENIUS_EXAMINED_REPORT | SELF_REPORT) | nullThe document's verbatim engagement wording classified into a fixed vocabulary; null when the document carries no engagement wording or wording the vocabulary does not classify.
source_sha256requiredstringSHA-256 hex digest of the source document this report was parsed from.
source_urlrequiredstringURL the source attestation document was retrieved from.
source_artifact_idrequiredstringIdentifier of the evidence-chain artifact holding the captured source document.
report_artifact_idrequiredstringIdentifier of the evidence-chain artifact holding the parsed report record.

BoardRestatedRow

BoardRestatedRow
FieldTypeDescription
as_ofrequiredstring (date)The as-of date (ISO 8601) of the changed line.
row_kindrequiredstring (CATEGORY | POSITION | TOTAL | LIABILITY)The kind of the changed line: CATEGORY, POSITION, TOTAL or LIABILITY.
categoryrequiredstring (US_TREASURY | TREASURY_REPO | GOVT_MMF | CASH | TIMING | OTHER | CORPORATE_BOND | PRECIOUS_METALS | BITCOIN | PUBLIC_EQUITY | SECURED_LOAN | OTHER_REPO | NON_US_TREASURY | TOTAL_RESERVE | TOKEN_LIABILITY)The changed line's normalized category.
labelrequiredstringThe changed line's own text, exactly as the report writes it.
unitrequiredstring (USD | TOKEN)The unit of the line's amount: USD or TOKEN.
oldrequiredstring | nullThe amount the superseded parse carried for the line; null when it had no such line.
newrequiredstring | nullThe amount this parse carries for the line; null when this parse has no such line.

BoardRestatement

BoardRestatement
FieldTypeDescription
superseded_report_artifact_idrequiredstringIdentifier of the evidence-chain artifact holding the earlier parse this report replaced, which is retained and independently verifiable.
superseded_parsed_atrequiredstring (date-time)When ReserveBeat parsed the earlier report record this one replaced.
superseded_source_sha256requiredstringSHA-256 hex digest of the source document the replaced parse was read from.
restatement_reasonrequiredstringThe reason recorded, as text, when this parse replaced the earlier one.
figures_changedrequiredbooleanWhether any amount differs between the superseded parse and this one; false when the re-parse changed only what was read around the figures.
changed_rowsrequiredBoardRestatedRow[]Every composition line whose amount differs between the superseded parse and this one, with both amounts; empty when figures_changed is false.

BoardReviewStatus

BoardReviewStatus
FieldTypeDescription
statusrequiredstring (CURRENT | STALE | MISSING)Whether the latest board review covers the current methodology: CURRENT if it does, STALE if it does not or cannot be read, MISSING if no review exists.
reviewed_atstring (date-time) | nullTimestamp (ISO 8601) at which the latest board review record was filed; null when no review exists.
reviewerstring | nullThe organisation that reviewed and stands behind this release (ReserveBeat), never a person's name; null when no review exists or its record could not be read.
methodology_sha256string | nullSHA-256 hash (hex) of the methodology document the latest review says it covers; null when no review exists or its record could not be read.
artifact_idstring | nullIdentifier of the evidence record holding the latest board review; null when no review exists.
anchor_statusstring (PENDING | ANCHORED | LATE_ANCHOR | UNANCHORED) | nullWhether the latest review's evidence record is covered by an external timestamp anchor yet; null when no review exists.
methodology_noticestring | nullThe publisher's notice shown above the methodology document on the website, while the current methodology document still describes a rule the board no longer applies; null when no such notice applies or the document could not be read.

BoardRevisionEntry

BoardRevisionEntry
FieldTypeDescription
familyrequiredstring (ATTESTATION_REPORT | DISCLOSURE_SCORE)Which kind of record was superseded in this revision: a parsed attestation report or a disclosure score.
score_kindrequiredstring (REPORT | SERIES) | nullFor a disclosure-score revision, whether the score covers a single report or the token's whole series; null for attestation-report revisions.
symbolrequiredstringTicker symbol of the token whose record was revised.
token_namerequiredstringDisplay name of the token whose record was revised.
issuer_namerequiredstringShort display name of the token's issuer.
chainrequiredstringName of the network of the token record the revision belongs to.
periodrequiredstring | nullReport month (YYYY-MM) the revised record covers; null for a disclosure score that covers the whole series rather than one report.
restatement_reasonrequiredstringThe reason recorded, as text, when the superseding record replaced the earlier one.
superseding_recorded_atrequiredstring (date-time)When ReserveBeat recorded the superseding record: its parse time for an attestation report, or its scoring time for a disclosure score.
superseding_artifact_idrequiredstringIdentifier of the evidence-chain artifact holding the superseding record, which can be retrieved and verified independently.
superseding_anchor_statusrequiredstring (PENDING | ANCHORED | LATE_ANCHOR | UNANCHORED) | nullExternal timestamp-anchoring state of the superseding record's artifact: pending, anchored, anchored late, or UNANCHORED when no anchor batch covers it yet.
superseding_source_sha256requiredstring | nullSHA-256 hex digest of the source document the superseding attestation parse was read from; null for disclosure-score revisions.
superseding_rubric_versionrequiredstring | nullVersion of the disclosure-score rubric the superseding score was computed under; null for attestation-report revisions.
superseding_activerequiredbooleanTrue while the superseding record is still the active one; false when it has itself since been superseded by a later revision.
superseded_recorded_atrequiredstring (date-time)When ReserveBeat recorded the superseded (earlier) record: its parse time for an attestation report, or its scoring time for a disclosure score.
superseded_artifact_idrequiredstringIdentifier of the evidence-chain artifact holding the superseded record, which is retained and can still be verified independently.
superseded_anchor_statusrequiredstring (PENDING | ANCHORED | LATE_ANCHOR | UNANCHORED) | nullExternal timestamp-anchoring state of the superseded record's artifact: pending, anchored, anchored late, or UNANCHORED when no anchor batch covers it yet.
superseded_source_sha256requiredstring | nullSHA-256 hex digest of the source document the superseded attestation parse was read from; null for disclosure-score revisions.
superseded_rubric_versionrequiredstring | nullVersion of the disclosure-score rubric the superseded score was computed under; null for attestation-report revisions.

BoardScoreDimension

BoardScoreDimension
FieldTypeDescription
dimensionrequiredstringThe identifier of this rubric dimension, for example accountant_named.
metrequiredbooleanTrue when the disclosure meets this dimension, judged from the stored fact beside it.
factrequiredstringThe stored fact this dimension was decided from, as text, or a marker: NOT_FOUND_IN_DOCUMENT when the document was checked and does not contain it, NOT_PROBED when the parser for this layout does not check for it, NOT_IN_TEXT_LAYER when the document carries it only as an image.
fact_sourcerequiredstringA reference naming the stored field the fact was read from, so the decision can be traced back to its data.
what_would_change_itrequiredstringA published sentence stating the condition under which this dimension would change, describing the document or series rather than the issuer.

BoardSelfReportedNetwork

BoardSelfReportedNetwork
FieldTypeDescription
figuresrequiredBoardIssuerStatementFigure[]The figures the issuer's own statement gives for this network, each with its verbatim label, amount, unit and scale, passed through without arithmetic.
stated_as_ofrequiredstring (date)ISO 8601 date the issuer's statement is as of, which is not the date of the measured slice beside it.
stated_as_of_sourcerequiredstring (SURFACE | OPERATOR)Where stated_as_of came from: SURFACE when read from the captured statement itself, OPERATOR when the statement carries no date and a person supplied it from the issuer's published page.
captured_atrequiredstring (date-time)ISO 8601 timestamp when ReserveBeat captured the issuer's statement.
template_idrequiredstringIdentifier of the parsing template ReserveBeat used to read the issuer's statement.
assurancerequiredstringAlways SELF_REPORTED: these figures are the issuer's own statement and no accountant's engagement stands behind them.
engagement_type_enumrequiredstringAlways SELF_REPORT, marking that no practitioner engagement covers these figures.
network_labelrequiredstringThe issuer's own name for this network, verbatim as it appears in the statement.
source_artifact_idrequiredstringIdentifier of the evidence artifact holding the captured bytes of the issuer's statement.
statement_artifact_idrequiredstringIdentifier of the evidence artifact recording ReserveBeat's parsed record of the issuer's statement.

BoardSupplyBucket

BoardSupplyBucket
FieldTypeDescription
bucket_startrequiredstring (date-time)Start of this time bucket, as an ISO 8601 timestamp in UTC.
timerequiredstring (date-time) | nullTimestamp of the supply reading this bucket holds, the same reading served in the supply series; null when the bucket is empty.
total_supplyrequiredstring | nullThe measured total supply of that reading, the same string the supply series serves; null when the bucket is empty.

BoardSupplyFigure

BoardSupplyFigure
FieldTypeDescription
timerequiredstring (date-time)ISO 8601 timestamp of the block the supply reading was taken at.
block_numberrequiredintegerThe network's position counter at the reading: a block number, slot, or ledger index depending on the network.
block_hashrequiredstring | nullThe EVM block hash the reading was taken at; null on networks whose pin is not an EVM block hash.
total_supply_base_unitsrequiredstringThe measured total supply as an integer string in the token's base units, exactly as read on-chain.
total_supplyrequiredstringThe measured total supply as a decimal string, scaled exactly from the base units by the token's decimals.
source_tierrequiredstring (STORAGE_PROVEN | ETH_CALL | RPC_QUORUM)The evidence tier of this reading: storage-proven, a quorum contract call, or RPC-quorum agreement only, from strongest to weakest.
snapshot_artifact_idrequiredstring | nullIdentifier of the evidence artifact recording this supply snapshot; null when the reading has no snapshot artifact.
quorum_log_artifact_idrequiredstring | nullIdentifier of the evidence artifact recording the provider quorum behind this reading; null when none is held.
storage_proof_artifact_idrequiredstring | nullIdentifier of the evidence artifact holding the storage proof for this reading; null when the reading has no storage proof.
anchor_statusrequiredstring (PENDING | ANCHORED | LATE_ANCHOR | UNANCHORED) | nullWhether the snapshot's evidence record is covered by an external timestamp anchor (pending, anchored, anchored late, or not yet anchored); null when there is no evidence record to anchor.
provenancerequiredstring | nullNull when ReserveBeat's own recorder observed this reading; otherwise a verbatim note that the standby recorder observed it, naming that host, when it observed, and its own record reference.

BoardTokenCard

BoardTokenCard
FieldTypeDescription
symbolrequiredstringThe token's ticker symbol as tracked on the board, used as the path key for its routes.
token_namerequiredstringThe token's full name as recorded in ReserveBeat's token registry.
issuer_namerequiredstringThe issuer's short display name, such as the brand a reader knows the issuer by.
issuer_entity_namerequiredstring | nullThe issuing legal entity the token's attestation source names; null when no attestation source is recorded for this token, so no entity is stated.
chainrequiredstringThe home network this row's contract address, decimals and measured figures were read from.
addressrequiredstringThe token's contract address on the home network named in chain.
decimalsrequiredintegerThe number of decimals the token contract uses, which scales base-unit supply readings into whole tokens.
supplyrequiredBoardSupplyFigure | nullReserveBeat's latest measured on-chain supply reading for this token on its home network; null when none has been taken.
latest_attestedrequiredBoardAttestedCoverage | nullThe newest attested coverage point for this token; null when none is held or when it is withheld because the latest report is stale.
attestation_statusrequiredstring (CURRENT | STALE | WITHHELD_STALE | NONE)The age of a token's most recent report month, measured against the cadence expected for that token — the cadence recorded for its attestation source, or the default cadence when none is recorded. Past that limit the status reads STALE; within it, CURRENT. Past it by a further stated withholding grace, the status reads WITHHELD_STALE: the board stops serving that token's report-derived figures and states the withholding instead, while its on-chain supply still renders. By default the limit is forty-five days after the report month ends for a monthly cadence or when no cadence is recorded, one hundred and six days for a quarterly cadence, one hundred and ninety-eight days for a semiannual cadence and three hundred and eighty days for an annual cadence: each cadence's own period plus the same fourteen days of publication grace. The withholding grace is a further thirty days by default, so the figures are withheld past seventy-five days for a monthly cadence, one hundred and thirty-six days for a quarterly cadence, two hundred and twenty-eight days for a semiannual cadence and four hundred and ten days for an annual cadence. Every token card and token response states its own two limits, as stale_after_days and withheld_after_days. A token with no attestation series at all reads NONE, which is an absence rather than a value. The status states age, not lateness: an issuer publishing on its usual schedule can read STALE while its next report is not yet due, which is what overdue answers.
report_scoperequiredstring (SINGLE_TOKEN | CONSOLIDATED_GROUP) | nullWhether the latest active attestation report covers this token alone or a consolidated group of tokens; null when no report is held.
engagement_type_enumrequiredstring (EXAMINATION | LIMITED_ASSURANCE | AUP | AUDIT | GENIUS_EXAMINED_REPORT | SELF_REPORT) | nullThe engagement level of the token's newest attestation report, classified from the report's own engagement wording: EXAMINATION for an examination or reasonable assurance engagement, LIMITED_ASSURANCE for a limited assurance engagement; null when the token has no report or the report's text carries no engagement wording the vocabulary classifies.
withheld_stalerequiredBoardWithheldStale | nullSet when the latest attestation report is past its staleness limit, meaning the attested figure on this card is withheld rather than missing; null when nothing is withheld.
chainsrequiredstring[]The same list as chains_ingested, under the name this field was first published with; kept for one release and then retired with notice.
chains_ingestedrequiredstring[]Every network this board measures and publishes this symbol on, home network first; always present, with one element for a single-network token. It is not every network the issuer has deployed the token to.
latest_statedrequiredBoardLatestStated | nullThe newest active report's own total reserve and liability figures at the scope the report states them, including a consolidated group report whose figures latest_attested leaves out; null when the token has no active report and while its attested figures are withheld as stale.
overduerequiredboolean | nullWhether a token's next attestation report is late against the token's own schedule. The next report is expected by the end of the reporting period after the latest report month, stepped by the token's expected cadence, plus the publication lag that latest report itself showed. Overdue reads true once today's UTC date is past that expected-by date plus a stated grace window with no newer report held, and false until then. Held means captured by this board, so the grace window also absorbs the days between an issuer publishing and the board capturing. It is null when no expected-by date can be built: a token with no attestation series, or a latest report that states no issue date to measure a lag from.
next_report_expected_byrequiredstring (date) | nullThe date (ISO 8601) the token's next attestation report is expected by: the end of the reporting period after last_report_month, stepped by the expected cadence, plus the newest report's own publication lag. Null when the token has no attestation series or its newest report states no issue date.
overdue_grace_daysrequiredintegerThe days past next_report_expected_by allowed before overdue reads true, the same grace for every cadence; stated so the verdict can be recomputed.
stale_after_daysrequiredintegerThe days after the end of the latest report month past which attestation_status reads STALE, for this token's expected cadence; stated so the verdict can be recomputed.
withheld_after_daysrequiredintegerThe days after the end of the latest report month past which attestation_status reads WITHHELD_STALE and the report-derived figures are withheld, for this token's expected cadence: stale_after_days plus the withholding grace.

BoardUnmeasuredContext

BoardUnmeasuredContext
FieldTypeDescription
amount_usdrequiredstringThird-party context, not a measurement: the USD value DefiLlama's recorded pull shows circulating on networks ReserveBeat does not publish, as a two-decimal string.
total_usdrequiredstringThe token's total USD circulation across all networks in the same recorded DefiLlama pull, as a two-decimal string.
networksrequiredstring[]The largest unpublished networks in the recorded DefiLlama pull, by DefiLlama's own names, biggest first.
other_network_countrequiredintegerHow many further smaller unpublished networks the recorded pull contains beyond those listed in networks.
measured_networksrequiredstring[]The DefiLlama names of the published networks subtracted from the total, so the remainder can be checked against the pull.
sourcerequiredstringThe name of the third-party source of this context, DefiLlama.
source_urlrequiredstringThe URL the recorded third-party pull was taken from.
pulled_atrequiredstringISO 8601 UTC timestamp string of when the recorded third-party pull was taken.
raw_sha256requiredstringSHA-256 hex digest of the raw response body of the recorded third-party pull, so the source bytes can be checked.

BoardUnreadChain

BoardUnreadChain
FieldTypeDescription
chainrequiredstringThe network's name in the board registry.
reasonrequiredstring (HISTORY_UNSUPPORTED | NO_QUORUM | LEG_FLOOR | DIVERGENCE | PENDING)Why this network's supply at the cutoff is not read, when no snapshot within 15 minutes of the cutoff exists either. HISTORY_UNSUPPORTED: the network serves no supply read at a past point. NO_QUORUM: fewer than two independent providers are configured for it. LEG_FLOOR: the providers do not hold that point in history. DIVERGENCE: the providers disagreed there. PENDING: not read yet.

BoardWithheldStale

BoardWithheldStale
FieldTypeDescription
statusrequiredstringAlways WITHHELD_STALE: this token's attestation-derived figures are withheld because its latest report is too old to be stated as current.
last_report_monthrequiredstringThe newest active report month on file for the token, formatted YYYY-MM.
expected_cadencerequiredstring (MONTHLY | QUARTERLY | SEMIANNUAL | ANNUAL) | nullThe reporting cadence recorded for the token's attestation source; null when none is recorded and the default monthly clock applies.
max_age_daysrequiredintegerThe number of days after the report month ends before this token's series counts as stale, based on its expected cadence.
grace_daysrequiredintegerThe additional days past the staleness limit before ReserveBeat stops stating the figures, a published threshold not derived from the report.
age_daysrequiredintegerThe number of days since the last report month ended.

V1Meta

V1Meta
FieldTypeDescription
disclaimerrequiredstringThe disclaimer this service publishes under, verbatim and identical to the one rendered on every public page.
termsrequiredstringThe terms of service in force, as an absolute <web origin>/terms@<version> address that serves the text. An API key is issued against an accepted version; the keyless tier binds nobody.
licencerequiredstringThe reuse terms THIS response was served under, decided per request. A row the monthly free allowance paid for, and every keyless response, is board data under CC BY 4.0; a row the prepaid compute-unit balance paid for is governed by the terms set out at purchase instead. The same split is published on /license.
attested_as_ofrequiredstring (date) | nullThe as-of date of the attested figures in this response. When the response covers many tokens, the least recent of the tokens' newest attested as-of dates, so every token's newest attested figure is at least this recent. Null when the response carries no attested figure, and null when this token's attested figures are withheld as stale.
stated_as_ofrequiredstring (date) | nullThe as-of date the issuer's own self-reported figures in this response carry, as the issuer states it. Null when the response covers many tokens, and null when this token has no self-reported statement. A self-reported figure has no practitioner behind it; it is the issuer speaking about itself, dated.
measured_atrequiredstring (date-time) | nullThe block time of the on-chain measurement in this response. When the response covers many tokens, the least recent of the tokens' newest measurements, so every token's newest measurement is at least this recent. Null on a response that carries no measurement.
attested_as_of_maxrequiredstring (date) | nullThe most recent of the tokens' newest attested as-of dates in this response; equal to attested_as_of on a one-token response. Null when attested_as_of is null.
measured_at_maxrequiredstring (date-time) | nullThe most recent of the tokens' newest measurement block times in this response; equal to measured_at on a one-token response. Null when measured_at is null.
snapshot_statusstring (CURRENT | SNAPSHOT_LATE) | nullWhether the on-chain measurement in this response is late: CURRENT while measured_at is no more than snapshot_late_after_seconds old when the response is read, SNAPSHOT_LATE once it is older. Supply is measured hourly, so a late reading means measurements have stopped arriving, and the figures are still served with their own times. Stated on the overview, coverage and single-token responses; null on every other response and whenever measured_at is null.
snapshot_late_after_secondsinteger | nullThe age in seconds past which measured_at reads SNAPSHOT_LATE, the same threshold the status page applies. Null when snapshot_status is null.

V1PlanGated

V1PlanGated
FieldTypeDescription
fieldrequiredstringThe name of the response field that was not served under the caller's plan; currently only restatements.
withheld_countrequiredintegerHow many entries of that field a raised caller (the required plan, or a positive prepaid compute-unit balance) would have received; always greater than zero, since no entry appears when nothing is withheld.
plan_requiredrequiredstring (free | enterprise)The one published plan whose keys are served this field by themselves; a key whose account holds a positive prepaid compute-unit balance is served it too.
reasonrequiredstringA published plain-language explanation of why the field was not served and where the same information is available to every reader.

V1PricingLicence

V1PricingLicence
FieldTypeDescription
allowancerequiredstringThe reuse terms of a row the monthly free allowance paid for, the same sentence meta.licence carries on that row.
balancerequiredstringThe reuse terms of a row the prepaid balance paid for, the same sentence meta.licence carries on that row.

V1PricingPurchase

V1PricingPurchase
FieldTypeDescription
unit_curequiredintegerThe compute units in one unit of purchase; a purchase is a whole number of these units.
minimum_unitsrequiredintegerThe fewest units one purchase may be for; a checkout for fewer is refused.
minimum_curequiredintegerThe compute units the smallest purchase buys: unit_cu times minimum_units.
minimum_chargerequiredstringWhat the smallest purchase costs, as a decimal string in the currency named by currency: minimum_cu at payg_rate_per_1000_cu, exactly, with no rounding.

V1PricingScheduleEntry

V1PricingScheduleEntry
FieldTypeDescription
routerequiredstringThe endpoint path, as the API routes it.
shaperequiredstring (all_tokens | one_token_public_window | one_token_full_depth)The request shape this row prices: all_tokens names no symbol, at any window and grain; one_token_public_window names one symbol with a window inside the public history window; one_token_full_depth names one symbol with a window reaching past it, at any grain.
curequiredintegerThe compute units one successful request of this shape costs.

V1PricingThroughput

V1PricingThroughput
FieldTypeDescription
cu_per_secondrequiredintegerThe compute units per second the throughput budget refills at.
burst_window_srequiredintegerThe rolling window, in seconds, the throughput budget is stated over.
burst_curequiredintegerThe most compute units that may arrive at once: one rolling window's worth of cu_per_second. A request whose whole cost does not fit is refused with a 429 whose Retry-After says when it will.

WebhookDeliverySummary

WebhookDeliverySummary
FieldTypeDescription
idrequiredstringThe delivery's unique identifier, used to request a replay and sent in the X-ReserveBeat-Delivery header.
endpoint_idrequiredstringThe identifier of the webhook endpoint this delivery was addressed to.
event_idrequiredstringThe identifier of the event this delivery carries, the same value as the id field in the delivered body.
event_kindrequiredstringThe kind of event delivered, such as attestation.landed or figure.moved.
statusrequiredstring (PENDING | SENT | DEAD | WITHHELD)The delivery's state: PENDING (not yet concluded), SENT (accepted by your receiver), DEAD (every attempt failed), or WITHHELD (not sent, with the reason in last_error: the endpoint's address was refused, or the endpoint was revoked, disabled or no longer owed the event before the delivery's turn came).
attemptsrequiredintegerThe number of POST requests this delivery made: 0 while pending or when withheld, otherwise from 1 up to the size of the retry ladder (three by default).
last_errorrequiredstring | nullThe error from the final failed attempt, or the reason the delivery was withheld, with the endpoint address redacted; null when the delivery succeeded or has not concluded.
created_atrequiredstring (date-time)When this delivery was recorded (ISO 8601 date-time).
delivered_atrequiredstring (date-time) | nullWhen your receiver accepted the delivery (ISO 8601 date-time); null means it has not been delivered.
replaysrequiredWebhookReplaySummary[]Every replay requested for this delivery, oldest first, each with its own outcome.

WebhookEndpointSummary

WebhookEndpointSummary
FieldTypeDescription
idrequiredstringThe webhook endpoint's unique identifier.
urlrequiredstringThe https:// address ReserveBeat posts signed event bodies to.
labelrequiredstring | nullThe label supplied when the endpoint was registered, or null if none was given.
event_kindsrequiredstring (attestation.landed | figure.moved)[]The event kinds this endpoint is subscribed to: attestation.landed for a new or restated attestation report, figure.moved when an issuer's own stated figure changes.
token_symbolrequiredstring | nullThe token symbol this endpoint is limited to; null means it receives events for every token.
secret_versionrequiredintegerThe version of the endpoint's current signing secret, which increases by one on each rotation.
created_atrequiredstring (date-time)When the endpoint was registered (ISO 8601 date-time).
revoked_atrequiredstring (date-time) | nullWhen the account revoked this endpoint (ISO 8601 date-time); null means it has not been revoked.
disabled_atrequiredstring (date-time) | nullWhen ReserveBeat automatically disabled this endpoint after repeated failed deliveries (ISO 8601 date-time); null means it is not disabled, and rotating the secret re-enables it.
consecutive_failuresrequiredintegerThe number of failed or withheld automatic deliveries in a row since the last successful one; replays and test pings do not count. The endpoint is disabled automatically only once this reaches at least 14 and the run is at least 24 hours old, and the account is warned first. A delivery withheld because the endpoint stopped being owed the event before it was sent does not count.
last_attempt_atrequiredstring (date-time) | nullWhen the last automatic delivery to this endpoint concluded, successful or not (ISO 8601 date-time); null means none has concluded yet.
last_success_atrequiredstring (date-time) | nullWhen an automatic delivery to this endpoint last succeeded (ISO 8601 date-time); null means none has succeeded yet.
deliveringrequiredbooleanWhether ReserveBeat is currently sending events to this endpoint; when false, not_delivering_because says why.
not_delivering_becauserequiredstring | nullA plain-language reason the endpoint is not receiving events, such as revocation, an automatic disable, a plan without webhook event deliveries (such an endpoint still receives test pings), or a signing-key change that needs a secret rotation; null when delivering is true.
previous_secret_versioninteger | nullThe version of the retired secret that still signs deliveries beside the current one after a rotation; null when no overlap is live.
previous_secret_expires_atstring (date-time) | nullWhen the retired secret stops signing (ISO 8601 date-time); null when no overlap is live.
failing_sincestring (date-time) | nullWhen the current run of consecutive failed automatic deliveries began (ISO 8601 date-time); null when the last delivery succeeded or none has failed.
disable_warned_atstring (date-time) | nullWhen the account was warned that this endpoint will be disabled automatically if deliveries keep failing (ISO 8601 date-time); null when no warning is outstanding.
last_ping_atstring (date-time) | nullWhen a test ping was last sent to this endpoint (ISO 8601 date-time); null means none has been sent.
last_ping_statusinteger | nullThe HTTP status the receiver answered the last test ping with; null when no ping has been sent or no response was received.

WebhookReplaySummary

WebhookReplaySummary
FieldTypeDescription
idrequiredstringThe replay request's unique identifier.
statusrequiredstring (PENDING | SENT | DEAD)The replay's state: PENDING (not yet sent), SENT (accepted by your receiver), or DEAD (not delivered, with the reason in last_error).
attemptsrequiredintegerThe number of POST requests this replay has made: 0 while pending or when it was refused before sending, otherwise from 1 up to the size of the retry ladder (three by default).
last_errorrequiredstring | nullWhy the replay was not delivered, in the dispatcher's own words; null when it succeeded or is still pending.
requested_atrequiredstring (date-time)When the replay was requested (ISO 8601 date-time).
delivered_atrequiredstring (date-time) | nullWhen your receiver accepted the replay (ISO 8601 date-time); null means it has not been delivered.

Response headers

The headers a client can rely on, and when each one is sent. Every refusal status an operation can return is listed under that operation, and the errors section of the API guide states what each one means.

ETag
Every served /v1 response: a strong validator over the exact bytes the service produced, before compression; through a compressing edge it carries a -gzip or -zstd suffix. Sent back in If-None-Match exactly as received, with the same Accept-Encoding, an unchanged response comes back empty, as not modified.
X-Request-ID
Every response, refusals included, and equal to error.request_id in a refusal body. Quote it in a bug report.
X-Quota-Limit, X-Quota-Remaining, X-Quota-Reset
The keyed tier, except a served balance read: the monthly free allowance in compute units, how many of them are left, and the seconds until it resets. The prepaid balance is not stated in a header; GET /v1/account/balance reads it. A rate-limited refusal omits the remaining figure rather than guessing it.
X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
The keyed tier, except a served balance read: the throughput budget's burst in compute units, how many compute units are left in that bucket, and the UTC epoch second at which the bucket is full again.
RateLimit-Policy, RateLimit
The keyed tier, except a served balance read: the same two limits in compute units, restated as the named policies burst and quota, in the IETF rate-limit header draft the API guide names.
Retry-After
Every rate-limit and capacity refusal: the seconds to wait. A cu_balance_exhausted or key_cap_reached refusal carries it only when what is left cannot cover even the cheapest priced request, and then it runs to the monthly reset; while a cheaper request still fits, none is sent. On a service-unavailable refusal it is a back-off hint, not a prediction of when service returns.
Deprecation, Sunset, Link
Only on an endpoint announced for withdrawal: when it was announced, the day it stops answering, and a link to the changelog entry. No /v1 endpoint carries them today.

API referenceReserve data API