Loans
Read the event feed
Every loan event of the tenancy in recording order, paginated by a cursor that never expires: the feed a mirror is built from.
GET
The feed answers every Loan’s events in one stream, oldest first by recording order, each row naming its
loan_id. It is the route for keeping an external system current: hold the cursor, ask again, and everything recorded since is what comes back.
Path parameters
string
required
The Tenancy whose events these are.
Query parameters
integer
default:"50"
How many events to serve, between 1 and 200. A value outside that range is
400, never clamped.string
Where to resume, returned verbatim from the previous page. A cursor issued for another listing or another Tenancy is refused.
Response
array
required
The rows, five fields each —
id, loan_id, kind, occurred_on, recorded_at — and merchant_ref where the Loan names a merchant, so entries route to the merchant’s book without a read per entry. The act’s account and any retraction are read on the Loan itself — the feed says what happened and where, not why.string
required
Where to resume. The feed answers a cursor whenever it served anything, the last page included — so a caller that caught up still holds a position, and a page of no events carrying the cursor unchanged is what being caught up looks like. It is not an error and not the end of anything.
Catching up is silent by design. Poll with the held cursor: an empty page means nothing new, and the next non-empty page starts exactly where the last one ended.