List aggregate daily cashflow snapshots
Get daily aggregate cashflow snapshots reported by an institution (e.g. self_report, visa) on behalf of an organization. Unlike /v3/ledger/transfers, each row is a period summary — typically one row per (institution, day, direction) — not an individual transaction. Use this endpoint when you want pre-aggregated totals; use /v3/ledger/transfers for line-item activity.
Results are sorted by occurredAt (descending — newest first). Ordering is not configurable from the query string.
Supports three response formats via the format query parameter:
- json (default) — paginated JSON (default limit 100, max 1000).
- csv — streamed CSV file download (up to 1,000,000 rows). Columns: inflow, transaction, type, timestamp, amount, usdValue, tokenAddress, tokenIcon, tokenSymbol.
- event-stream — Server-Sent Events stream (up to 1,000,000 rows). Each entry is emitted as a named entry event with JSON data. A final done event carries {"total": N}. Connect with EventSource or fetch:
const es = new EventSource('/v3/ledger/cumulative-cashflows?organizationId={id}&format=event-stream', {
headers: { 'x-api-key': 'cc_...' },
});
es.addEventListener('entry', (e) => console.log(JSON.parse(e.data)));
es.addEventListener('done', (e) => { console.log('total:', JSON.parse(e.data).total); es.close(); });
Requires org membership or vault curator role (public orgs only).
Request
- Base URL: https://api.creditcoop.xyz
- URL: https://api.creditcoop.xyz/v3/ledger/cumulative-cashflows
- Auth: one of:
- API key in header x-api-key
- HTTP bearer
- OAuth 2 (authorization code, authorization URL https://clerk.creditcoop.xyz/oauth/authorize, token URL https://clerk.creditcoop.xyz/oauth/token)
Query parameters
Organization ID (must be an org the caller is a member of, or a public org if caller is a vault curator).
Optional filter. Inclusive start date (YYYY-MM-DD); restricts results to occurredAt >= startDate (or snapshotDate for collateral-snapshots). Omit to leave the start unbounded.
Optional filter. Inclusive end date (YYYY-MM-DD). Omit to leave the end unbounded.
Maximum records returned. Format-dependent: format=json capped at 1000 (default 100); format=csv|event-stream capped at 1,000,000 (default 1,000,000). Values outside these caps are silently clamped server-side.
Number of records to skip from the start (JSON pagination only — ignored for csv/event-stream).
Response format. json returns paginated JSON. csv streams a CSV file download. event-stream returns Server-Sent Events: each row is a named entry event; a final done event carries {"total": N}.
Optional filter. Source institution that reported the aggregate (e.g. self_report, visa); restricts results to a single institution. Omit to return all institutions.
Optional filter. Cash-flow stage (external → in_transit → secured → settled); restricts results to a single stage. Omit to return all stages.
Optional filter. true = arriving only, false = leaving only. Omit to return both directions.
Response
Aggregate daily cashflow snapshots.
Example response
{
"entries": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organizationId": "550e8400-e29b-41d4-a716-446655440000",
"webCaptureId": "550e8400-e29b-41d4-a716-446655440000",
"amountUsd": "1234567.890000",
"occurredAt": "2025-01-15T10:30:00Z",
"createdAt": "2025-01-15T10:30:00Z"
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.