Events
Event contracts for the Transactions Service: what it publishes to the EventBridge default bus and what it consumes. Flow behavior lives on the domain pages linked from each row.
Published
Every event is an fmsdk envelope (id, type, version = v1, payload) on the default bus of the deploy region.
| Event | Source | Publisher | Payload | When | Consumers |
|---|---|---|---|---|---|
|
|
api |
|
An item is saved with a non-empty |
underwriting-api, insight-service, entitlements-service |
|
|
api |
|
Update v1 with a non-empty |
entitlements-service |
|
|
api |
Category |
Every main-account update (v1 and v2) |
Audit log consumers |
|
|
refiner |
|
The last Kinesis page of a mine that carried at least one transaction — Refiner |
underwriting-api, insight-service |
|
|
feeder |
Account model plus |
Every |
float-service, subscription-service, loc-service, insight-service |
|
|
miner |
|
|
float-service |
|
|
miner |
|
|
float-service |
The API’s item events are best effort: a rejected entry is retried up to 3 attempts only for InternalFailure or ThrottlingException, every outcome is metered as txn.item.event.publish, and a dropped event is never redelivered. Consumers treat user_id as the only guaranteed field and re-read current state from this service.
Source: pkg/api/items.go, pkg/eventbridge/publish.go, pkg/refiner/refiner.go, pkg/feeder/feeder.go, pkg/miner/events.go
Consumed
| Event | Source | Transport | Handled by |
|---|---|---|---|
Auth0 login ( |
Auth0 log stream |
EventBridge |
listener — Listener |
Plaid webhooks |
Plaid |
API Gateway |
miner — Miner Routing |
Raw Plaid records |
miner, throttle-miner |
Kinesis |
refiner — Refiner |
Table changes |
|
DynamoDB Streams |
feeder — Feeder |