SunWest Educational Credit Union has been operating in Pueblo, Colorado since 1935. By the most recent third-party call-report aggregators, the credit union holds roughly $226 million in assets across three branches and serves about 11,972 members — a small footprint, but the member-portal data inside this Android app is exactly what a niche fintech has to integrate against if it wants those members as real customers. The build target here is the Android application com.sunwestecu.grip, per its Play Store listing; the iOS counterpart at App Store ID 1622632641 shares the same backend. Everything below is written as what the engagement does, not as a feasibility question.
Member-app data this app exposes
The Play Store listing names the features in the member's own vocabulary; we work from that vocabulary so downstream code keeps the same names a SunWest member would recognise inside a dispute. The table below maps each surface to where it originates in the app stack and what an integrator typically does with it.
| Domain | Origin in the app | Granularity | What a fintech does with it |
|---|---|---|---|
| Account list & balances | Main dashboard after login; covers share, draft (checking), savings, club, and any open loans | Per-account, current balance and available balance, refreshed at login | Pre-fund check, debt-to-income inputs, loan-eligibility pre-screen |
| Transaction history | Per-account drilldown; the dashboard surface labels these as categorized transactions per SunWest's digital-banking pages | Per-posting, with description, amount, posted date, and an in-app category label | Cash-flow analysis, recurring-bill detection, budgeting overlays |
| Statements | Monthly and quarterly e-statements behind a separate "view statements" surface, per the credit union's e-statements page | One PDF per statement period, plus a member-side download history | Income verification, loan underwriting, KYC artefacts |
| Mobile check deposit | "Deposit checks" flow in the app, with the front/back image upload and review status | Per-deposit ID, amount, status (pending, accepted, held) | Provisional-funds notifications, deposit-driven trigger flows |
| Internal & external transfers | Transfer between SunWest accounts; plus the linked-FI feature that supports up to five external institutions with a $10 minimum, per the digital-banking pages | Per-transfer record with source, destination, schedule, and a delivery option (Next Day or Standard) | Pay-down automation, sweeps, payroll-split routing |
| Bill pay | Internal bill-pay records inside the app | Per-payee, per-payment, with sent and cleared dates | Recurring-spend categorisation, payment-receipt webhooks |
| Card controls | Optional debit-card blocking, as described on the Play Store listing | Card on/off state, plus the timestamp of the last toggle | Fraud-pause flow, parental controls for sub-cardholders |
| Credit profile (Credit Sense) | Free credit profile monitoring inside the member portal, per SunWest's digital resource hub | Score and changes over time, per the third-party Credit Sense feed embedded in the portal | Pre-approval gating, refinance trigger, default-risk monitoring |
The dense surface here is the linked-external-FI transfer record — very few small-CU apps surface five-FI fan-out cleanly, and the per-transfer schedule + delivery option is the field most downstream apps care about. Zelle send/receive history is also visible inside the app per the credit union's own digital-banking write-up; we treat it as a separate domain because Zelle traffic carries its own consent and disclosure obligations.
Three paths to the same member account
There are genuinely three routes for a third party to reach this data lawfully, and they trade off against each other on coverage, durability, and the consent paperwork involved. We pick one for the spine and stage the others as fallbacks.
1. Authorized protocol analysis of the member portal, under member consent
This is the spine for most SunWest CU Mobile builds. With a written member authorization to us — and an engagement-level authorization from the calling fintech — we capture the app's outgoing HTTPS traffic on a consenting member's device, document the auth handshake, the session-token refresh, and the per-account JSON shapes the dashboard fetches, and ship that as a reproducible client. Coverage is the same as the app's. Durability is medium: small CUs reshape JSON shapes when their core updates ship, which is what the maintenance contract is for.
2. Aggregator pass-through (Plaid, Finicity, MX, Akoya)
Where the fintech already runs a Plaid, Finicity, MX, or Akoya integration, we wire SunWest as one more institution behind the aggregator's existing token. Coverage is what the aggregator publishes for SunWest Educational CU specifically — small-CU coverage on these networks is uneven, and is the reason a direct integration exists at all. Durability is highest of the three because the aggregator absorbs upstream change, but the integrator pays per-account per-month at the aggregator's price and may not see Zelle, card-block state, or statement PDFs.
3. Native export under the member's own login
SunWest's e-statements page already lets the member view, print, and save monthly and quarterly statements; transactions can be exported from the online-banking surface. Where the integration only needs statements and a transaction CSV, we wrap that export as a scheduled job under the member's login. Cheapest to build, narrowest coverage, no real-time signal. We use this as the fallback when the aggregator misses SunWest and the fintech's compliance team wants the smallest possible authorization scope.
For a typical lending-adjacent fintech we run path 1 for the realtime balance, transaction, and card surfaces, and keep path 3 alive on a scheduled job so statement PDFs are always on hand for underwriting. Path 2 only earns its keep when the customer already pays an aggregator.
Consent, NCUA, and where the 1033 piece sits
SunWest Educational CU is a Colorado state-chartered credit union with federal share insurance through the NCUA. The dependable basis for accessing one of its members' data today is the member's own written consent, scoped to the data domains in the table above, with revocation handled inside the engagement.
The CFPB's Personal Financial Data Rights rule under 12 CFR Part 1033 is where this kind of access may eventually be governed in the US, but right now it is not in force. The rule was finalized in October 2024 and then enjoined by a federal court; the Bureau reopened it for reconsideration in August 2025 and the originally-finalized phase-in dates were stayed. Treating any specific 1033 obligation as settled law today would be wrong; we treat it as the forward path and as a likely future input, not as the authority we are riding. The consent record we keep for SunWest members — signed scope, expiry, revocation log, and a per-request audit trail — is already shaped so a future 1033 final rule can drop in without rewriting the integration.
Quirks of this stack, and how we handle them
Two pieces of engineering judgment apply to SunWest specifically, both worked into the engagement up front rather than discovered mid-build.
Statement parsing is the maintenance line item. SunWest's e-statement PDFs are produced by its core processor, not by a stable third-party format, and small CUs change those layouts when their core updates ship without an external changelog. We schedule a parser regression after each known app or web-portal release window and ship a fixed parser as a maintenance ticket. The fintech sees a stable schema; the brittleness lives on our side.
Outbound external transfers have their own status model. SunWest's linked-FI transfer feature exposes Next Day delivery (with a small fee) and Standard delivery (up to three business days), per the credit union's digital-banking pages. Treating a Standard transfer as already settled has cost downstream fintechs real money on disputed funds. We map those status codes to the integrator's transfer-state model up front and emit a clear "in-flight" state until the credit union confirms settlement; this is a small-CU pattern, not unique to SunWest, but it is the first thing we check in the QA pass.
A third practical note: SunWest Educational CU is a different legal entity from SunWest Federal Credit Union in Glendale, Arizona. The package name com.sunwestecu.grip identifies the Pueblo institution under the sunwestecu.com namespace; mysunwest.com is the Arizona federal credit union and runs its own app. The first thing onboarding does is confirm which membership your end-user actually holds, so the fintech never ships a client trying to authenticate against the wrong backend.
What lands in your repo
The handover for a SunWest CU Mobile engagement is concrete and small. Nothing here is academic; each item is something a downstream engineer can pick up and run.
- An OpenAPI 3.1 specification for the endpoints we wrap — member auth (login, MFA handshake, session refresh), account list and balance, transaction history per account, statement download, transfer creation and status, card-block toggle, Credit Sense score read.
- A protocol & auth-flow report covering the token chain, where it lives in memory versus on disk, the rotation window the app uses, and the failure modes we observed (lockout count, MFA timeout, idle-logout).
- Runnable source for the core flows in two stacks (Python with
httpxand Node.js withundici), wired against a sample member account, with the consent token taken as an environment variable so the same code runs in CI and against production. - Automated tests: replay-based unit tests for the parsers and an integration suite against the member sandbox we wire up during onboarding.
- Interface documentation: a per-endpoint reference, the data dictionary mapped to the SunWest in-app field names, and the consent-revocation playbook.
- Compliance posture notes: data-minimization defaults, retention windows, NCUA-aligned breach posture, and a written member consent template ready for your counsel's review.
Statement-fetch walk-through
This is illustrative pseudo-code drawn from a typical SunWest member-portal call shape; field names follow what the app surfaces, and the auth chain is the one confirmed during the build. The real production client carries retries, idempotency keys, and MFA-step handling that are trimmed out here for readability.
# pulling the most recent statement under a member's consent token
# consent_token: short-lived, member-bound, revocable
import httpx, datetime as dt
BASE = "https://api.partner.openbankingstudio.com/sunwest-ecu/v1"
def fetch_latest_statement(consent_token: str, account_id: str) -> bytes:
with httpx.Client(timeout=20.0) as s:
# 1. resolve the member session inside the consent boundary
r = s.post(f"{BASE}/sessions",
headers={"x-consent-token": consent_token})
r.raise_for_status()
session = r.json()["session_id"]
# 2. list statement periods available for this account
r = s.get(f"{BASE}/accounts/{account_id}/statements",
headers={"x-session-id": session})
if r.status_code == 403:
raise PermissionError("consent does not cover statements scope")
periods = r.json()["periods"] # [{"period": "2026-04", "doc_id": "..."}]
latest = max(periods, key=lambda p: p["period"])
# 3. pull the PDF; the upstream rate limit is per-member, not per-app
r = s.get(f"{BASE}/documents/{latest['doc_id']}",
headers={"x-session-id": session, "accept": "application/pdf"})
r.raise_for_status()
return r.content
# typical error surface we hand back upstream
# 401 expired_consent -- member needs to re-consent in the app
# 423 mfa_required -- step-up flow; client should call /sessions/mfa
# 429 member_rate_limited -- back off; not the fintech's rate, the member's
# 503 portal_maintenance -- SunWest member portal in a maintenance window
Where these notes come from
The mapping above is built from the app's own Play Store and App Store listings, SunWest Credit Union's own digital-banking and e-statements pages, and the public NCUA / credit-union research aggregators that publish quarterly call-report-derived figures. Citations below open in a new tab.
- SunWest CU Mobile on Google Play (package com.sunwestecu.grip)
- SunWest Credit Union — Online & Mobile Banking
- SunWest Credit Union — Online E-Statements
- CFPB — Personal Financial Data Rights Reconsideration
- SunWest Educational Credit Union — CreditUnions.org research page
Notes by OpenBanking Studio · integration desk, reviewed 2026-05-24.
Other small-CU and bank apps in the same shape
The following peer apps share the same integration pattern — a small or mid-size member channel with statements, transfers, mobile deposit, and a member-portal login that maps cleanly onto the routes above. Listed as ecosystem context, not ranked.
- PGAFCU Mobile Banking — Pueblo Government Agencies Federal Credit Union; balances, transaction history, transfers, and loan payments for a small Colorado FCU under the same NCUA framing.
- Ent Mobile Banking — Ent Credit Union; a larger Colorado CU with overlapping Pueblo branches and a richer mobile feature set.
- Blue FCU mobile — Blue Federal Credit Union; multi-state CU app whose member-portal patterns track the same consent shape.
- Alliant Credit Union mobile — large national CU; useful as a reference for what a mature CU API surface looks like.
- SunWest CU Mobile Banking (com.swfcu.mobile) — the older SunWest Educational CU mobile package still present on the stores; tracked as a sibling for migration paths.
- Banno mobile banking apps — Jack Henry's Banno platform powers many small CU apps; cross-reference for member-portal shape and Zelle wiring.
- Q2 Digital Banking — Q2-powered member apps used by community banks and CUs of similar scale.
- Alkami-powered CU mobile apps — Alkami's white-label digital-banking platform; relevant as a structural peer for the data the portal exposes.
- SunWest Federal Credit Union mobile — Glendale, AZ; same brand stem, different institution, useful only as a name-disambiguation peer.
Common questions a fintech asks about this one
Why is wiring a small Pueblo credit union worth a fintech's time? Member-data integrations live or die by coverage, and small credit unions are exactly what the big aggregators cover thinly. Specialist apps for lending pre-approval, school-district payroll splits, or rural micro-business cash flow often need one SunWest Educational CU member to be a usable customer end-to-end. The asset footprint is small, but the member relationship is dense: share draft, savings, auto loan, and member-business products usually share one login.
Does the CFPB Section 1033 rule cover SunWest right now? Not at this moment. The Personal Financial Data Rights rule was finalized in October 2024 and then enjoined by a federal court; the Bureau reopened it for reconsideration in August 2025 and the original 2026 phase-in dates were stayed. So Section 1033 is the forward-looking piece of the picture. What actually authorizes the build today is the member's own written consent under NCUA share-insurance rules and Colorado state law, plus an engagement-level authorization to us.
How do you distinguish SunWest Educational CU from SunWest Federal CU? Different institution, different app. The SunWest CU Mobile package com.sunwestecu.grip — the one this page covers, per its Play Store listing — is the Pueblo, Colorado SunWest Educational Credit Union under the sunwestecu.com namespace. The Glendale, Arizona SunWest Federal Credit Union runs separately under mysunwest.com with its own mobile app. A build targeting one will not authenticate against the other, so the first contract step is confirming which membership your end-user actually holds.
Can a non-member call your hosted endpoints to look up someone else's SunWest account? No. Every call resolves to a specific member's consent token, which the member generates by completing the standard SunWest CU Mobile login flow. Without that token the endpoint returns nothing. The hosted layer is a thin proxy bound to a member who has agreed in writing, not a directory or a lookup service.
Interface evidence
App screenshots from the Play Store listing, useful when matching the data dictionary back to the surfaces a member actually sees.
App profile
Name. SunWest CU Mobile. Package. com.sunwestecu.grip (Android, per Play Store listing); App Store ID 1622632641 (iOS). Sponsor. SunWest Educational Credit Union, also doing business as SunWest Credit Union, headquartered in Pueblo, Colorado, chartered 1935, NCUA-insured. Footprint. Approximately $226 million in assets and roughly 11,972 members across three branches, per public credit-union research aggregator listings late 2025. Surfaces. Account balances, transaction history with in-app categories, statements (monthly/quarterly), mobile check deposit, internal and external transfers (up to five linked external FIs with $10 minimum, Next Day or Standard delivery), Zelle, optional debit-card blocking, bill pay, ATM locator, and Credit Sense credit-profile monitoring. Disambiguation note. SunWest Federal Credit Union, headquartered in Glendale, Arizona (mysunwest.com), is a different institution and runs its own separate mobile application.
A typical SunWest CU Mobile build is delivered in one to two weeks once the consenting member's login is in hand. Source-code delivery starts at $300 and is invoiced only after we hand off runnable Python or Node code that authenticates against a member account, pulls statements, and parses the categorized transaction feed inside your environment — the bill goes out once you've signed off that it works. The alternative is calling our hosted endpoints and paying only for the calls your app actually makes, with nothing due up front. Project requests for this one go through openbankingstudio.com/contact.html.
Mapping reviewed 2026-05-24.