Account type lacks typed org; conn_id/connections model never populated by live bridge #1

Open
opened 2026-09-17 15:00:55 +00:00 by jared · 0 comments
Owner

Findings

Live /accounts response structure

Each account hash contains: id, name, currency, balance, available-balance, balance-date, transactions, holdings, org. The org sub-hash has domain, name, sfin-url, url, id. There is NO top-level connections array and NO conn_id on accounts.

Gem model mismatch

Gem models Account with conn_id (always nil on the wire) and AccountSet with a connections array of Connection (lib/simplefin_api/types.rb lines 35-38). No typed org accessor exists. Org name is only reachable via account.raw[:org][:name].

Evidence

docs/spec-analysis.md lines 113-114 already note example fields reachable only through #raw.

Impact

Consumers cannot attribute accounts to a bank through the typed API. Every account came back with no org in a 13-account join.

Proposed fix

Add an org attribute (Org type: domain, name, sfin_url, url, id) to Account; drop or de-scope Connection/conn_id; reconcile docs/spec-analysis.md and docs/design.md.

Verification

Re-run smoke against all 13 accounts; org names resolve.


Discoverer: /home/jared/projects/finance, session id unavailable, 2026-09-17. Smoke-testing simplefin_api v0.1.0 against live SimpleFIN Bridge revealed account type lacks typed org accessor.

## Findings ### Live /accounts response structure Each account hash contains: id, name, currency, balance, available-balance, balance-date, transactions, holdings, org. The `org` sub-hash has domain, name, sfin-url, url, id. There is NO top-level `connections` array and NO `conn_id` on accounts. ### Gem model mismatch Gem models `Account` with `conn_id` (always nil on the wire) and `AccountSet` with a `connections` array of `Connection` (lib/simplefin_api/types.rb lines 35-38). No typed `org` accessor exists. Org name is only reachable via `account.raw[:org][:name]`. ### Evidence docs/spec-analysis.md lines 113-114 already note example fields reachable only through `#raw`. ### Impact Consumers cannot attribute accounts to a bank through the typed API. Every account came back with no org in a 13-account join. ## Proposed fix Add an `org` attribute (Org type: domain, name, sfin_url, url, id) to `Account`; drop or de-scope `Connection`/`conn_id`; reconcile docs/spec-analysis.md and docs/design.md. ## Verification Re-run smoke against all 13 accounts; org names resolve. -------- **Discoverer:** /home/jared/projects/finance, session id unavailable, 2026-09-17. Smoke-testing simplefin_api v0.1.0 against live SimpleFIN Bridge revealed account type lacks typed org accessor.
Sign in to join this conversation.
No description provided.