Skip to main content
GET
Get participant statement
Returns a statement for one participant and one asset. Each row is one posting with the running balance after it, in posting order. Rows created by an event also carry the event’s event_timestamp. asset_id is required. Pass bucket to limit rows and balances to one or more buckets, such as bucket=AVAILABLE,DEFERRED. The balances cover the selected buckets together. from and to select rows by the posting’s created_at. Both bounds are inclusive. opening_balance is the balance before from, and closing_balance is the balance through to. Opening plus the rows in the window equals closing. Balances count the account’s full history, so closing_balance is the participant’s balance as of to. Rows created by a rule carry rule_id and event_id. A manual adjustment has neither. reference_id is the shared ID that links related rows, such as a hold and its release, or a pending redemption’s HOLD, RELEASE, and REDEMPTION.
For how to classify rows, exact window boundaries, when to treat a statement as final, and why statements use posting time rather than event_timestamp, see Statements in the Reporting guide. For a period summary that does the classifying for you, see Get participant rollforward.

Authorizations

X-API-Key
string
header
required

API key passed in the X-API-Key header.

Path Parameters

id
string<uuid>
required

Participant ID

Query Parameters

asset_id
string<uuid>
required

Asset to produce the statement for

bucket
string

Scope the statement (rows and running balance) to one or more buckets. Accepts one or more comma-separated values from AVAILABLE, HELD, DEFERRED (for example AVAILABLE,DEFERRED); rows and the running balance are scoped to the union of the listed buckets. Omitted, the statement covers all buckets

from
string<date-time>

Start of statement window (RFC 3339), inclusive; applied to the journal entry posting time (created_at)

to
string<date-time>

End of statement window (RFC 3339), inclusive; applied to the journal entry posting time (created_at)

limit
integer
default:50

Maximum number of results (default 50, max 200)

Required range: x >= 1
cursor
string

Pagination cursor from previous response

Response

Statement page with running balances

asset_id
string<uuid>

Asset the statement covers

Example:

"550e8400-e29b-41d4-a716-446655440000"

bucket
string

Bucket scope, when the statement was requested for one or more buckets: the normalized list (trimmed, deduplicated, in the order requested) as a comma-joined string, for example "AVAILABLE,DEFERRED". Absent when the statement covers all buckets (running balance is then the total across buckets).

Example:

"AVAILABLE"

closing_balance
string

Scope balance as of the end of the window (the current balance when no to is given). Always equals the as-of(to) balance for the same entity/asset/bucket scope, regardless of pagination.

Example:

"350"

data
object[]

Statement lines, oldest first

from
string

Start of the statement window, when provided

Example:

"2024-01-01T00:00:00Z"

opening_balance
string

Scope balance immediately before the window ("0" when no from is given)

Example:

"250"

pagination
object

Pagination metadata for fetching subsequent statement pages

to
string

End of the statement window, when provided

Example:

"2024-02-01T00:00:00Z"