The Android build still ships as com.muskegoncoop.muskegoncoop, per its Google Play listing — a leftover from when this was Muskegon Co-op Federal Credit Union, which rebranded to Route 31 Credit Union in 2022. The brand changed; the bundle, and a fair amount of plumbing under it, did not. Behind the member login sits a normal community-credit-union ledger: share savings, checking, share certificates, loans and cards, plus remote check deposit and card controls.
Member-facing online banking here is branded It's Me 247, the CU*Answers online-banking platform that many community credit unions run, as named on the credit union's own online-banking page. That single fact shapes the whole integration: the data is real and structured, but it lives behind a shared multi-tenant platform with a credit-union account model, which decides how the work is built. This brief covers what is reachable, the authorized way to reach it, and what we hand back.
Member data the app exposes once a member is signed in
Every row below reflects a surface the app actually presents, named the way Route 31 and It's Me 247 name it. Branch and help content is static and low-value; the financial surfaces are where an integrator spends time.
| Data domain | Where it originates in the app | Granularity | What an integrator does with it |
|---|---|---|---|
| Account balances & details | Accounts view: share savings, checking, share certificates, loans, credit cards | Per share/suffix: current and available balance, type, rate or maturity on certificates | Balance display, PFM aggregation, reconciliation against a ledger |
| Transaction history | Account register per share or loan | Dated postings: amount, description, posted vs pending, running balance | Categorization, bookkeeping sync, cash-flow and underwriting feeds |
| Remote check deposit | Mobile deposit (Remote Deposit Capture) sub-flow | Deposit submission, status, hold information | Deposit confirmation tracking and reconciliation |
| Transfers & bill pay | Transfers and Bill Pay module, automatic funds transfers | One-time and scheduled transfers, payees, recurring rules | Payment automation, mirroring scheduled transfers into another system |
| Card controls | Manage My Cards | Card list, freeze/unfreeze state, card type and masked number | Card lifecycle automation, fraud-response toggles (action calls handled explicitly) |
| e-Alerts | Alert settings plus delivered notices via message, email, SMS | Alert rules and triggered events: low balance, posted item, large debit | Event-driven webhooks, a near-real-time activity feed |
| Member profile | Sign-in identity and contact preferences | Masked profile, contact channels, alert delivery settings | Light identity matching, consent and notification routing |
Three authorized ways into the It's Me 247 data
1. Member-consented interface integration / protocol analysis of the app
With the member's authorization, we analyse the It's Me 247 traffic the Route 31 app produces — the sign-in and session-token exchange, the account-list call, the per-share history call — and implement those flows directly. Reachable: everything in the table above that the member can see. Effort: moderate, mostly in the credit-union account model and session handling. Durability: good, with periodic re-validation when the platform front end changes. Onboarding: we set this up with you against a consenting member account during the build.
2. Member-permissioned aggregator linking
The consumer-permissioned ecosystem (Plaid Core Exchange, MX, Finicity, FDX-aligned exchange) can sometimes reach a credit union of this size through a member link. Reachable: balances and transactions where coverage exists. Effort: low when it works. Durability: depends on a third party's coverage of one small charter, which is uneven for a single-branch Muskegon institution. We treat this as a complement, not the foundation.
3. Native in-app download
It's Me 247 deployments commonly expose a member transaction/statement download (CSV or an OFX/Quicken export) where the credit union enables it. Reachable: history for accounts the member opens. Effort: low. Durability: high but coarse — file shapes, not live calls. A reasonable fallback for back-fill.
For a single-charter credit union on a shared CUSO platform, the member-consented interface route is the one we would build on; aggregator linking rides alongside it wherever a member can connect the institution, and the in-app download covers historical back-fill at almost no cost. We say which we recommend after we see the member account and your data target, not before.
What a balance-and-history pull looks like here
Illustrative only; exact field names and the credit-union routing token are confirmed during the build against a consenting member account. The shape reflects the It's Me 247 session model and the share/suffix account structure, not a generic bank schema.
# 1. Member-authorized session (after the member completes login + any step-up)
POST /itsme247/auth/session
cu_id: "route31" # tenant token; legacy "muskegoncoop" still seen
device_id: <app-registered device>
credentials: <member-supplied, consented>
-> 200 { session_token, member_ref, step_up_required: false }
# 2. List the member's shares, loans and cards
GET /itsme247/accounts
Authorization: Session <session_token>
-> 200 {
shares: [
{ suffix:"000", type:"REGULAR_SAVINGS", bal_current:1843.20, bal_available:1843.20 },
{ suffix:"001", type:"CHECKING", bal_current:512.07, bal_available:489.07 },
{ suffix:"070", type:"SHARE_CERT", bal_current:5000.00, maturity:"2027-03-01" }
],
loans: [ { id:"L-22", type:"AUTO", balance:9120.55, next_due:"2026-06-05" } ],
cards: [ { last4:"4417", type:"DEBIT", locked:false } ]
}
# 3. History for one share, paged
GET /itsme247/accounts/shares/001/history?from=2026-04-01&to=2026-05-19
-> 200 { postings:[ { date:"2026-05-12", amount:-38.42, desc:"POS PURCHASE",
status:"posted", running_bal:489.07 }, ... ], next_cursor:null }
# Error handling we wire in:
# 401 session_expired -> silent re-auth within the consent window
# 428 step_up_required -> surface OTP/e-Alert challenge, resume after
# 409 cu_id_mismatch -> retry with legacy "muskegoncoop" tenant token
What lands in your hands
Everything is tied to Route 31's actual surfaces, not a template:
- An OpenAPI/Swagger specification covering the session, account-list, per-share history, card-status and e-Alert surfaces named above.
- A protocol and auth-flow report: the It's Me 247 login, session-token lifetime, step-up (OTP / e-Alert) behaviour, and the legacy
muskegoncoopidentifier handling. - Runnable source for the key endpoints in Python and Node.js — balances, history pagination, card freeze/unfreeze, with the share/suffix model already normalized.
- Automated tests against recorded fixtures, including session-expiry and step-up paths.
- Interface documentation a second engineer can run from, plus data-retention and consent-record guidance for the member-authorized model.
Member authorization, NCUA, and where US data rights actually sit
Route 31 is a federally chartered credit union supervised by the National Credit Union Administration; member privacy runs under the Gramm-Leach-Bliley Act and Regulation P, with member-business confidentiality and an NDA on our side where required. The dependable legal basis for this integration is narrow and concrete: the member's own right to their account data, exercised with their explicit consent, logged, and scoped to what you need.
The CFPB Personal Financial Data Rights rule is not the basis here and is not treated as in force. It is enjoined and back in agency reconsideration, and a Muskegon credit union of this size would have sat at the very back of any timeline even under the rule as finalized — the smallest depositories were exempted or sequenced last. We watch where that rule may land; we do not build on it. Consent scope, expiry and revocation are handled in the integration: access is read-scoped by default, the consent record carries an expiry, and a member revocation stops the sync rather than degrading quietly.
Build details we plan for on Route 31
These are the things that actually decide whether the integration holds, all handled on our side:
- Multi-tenant routing. It's Me 247 is a shared CUSO platform; the credit-union routing token and the per-CU front-end skin are not the generic host. We pin the build to Route 31's tenant so the auth flow and account-type codes resolve to the right institution, with the legacy
muskegoncoopidentifier still expected in some tokens and paths. - Share/suffix account model. Credit-union share accounts, sub-savings and share certificates carry suffix and ID codes rather than flat account numbers. We map that structure into a normalized schema so a 12-month certificate and a regular-savings sub-share do not collapse into one balance.
- Separate card and deposit sub-flows. Manage My Cards and Remote Deposit Capture are often a different host or SDK from core banking. We scope them as distinct interfaces, wire only the ones you ask for, and treat the freeze/unfreeze state as read-mostly with explicit handling for the action calls.
- Front-end drift. When It's Me 247 ships a platform release and the front end shifts, a scheduled check flags the drift before it reaches your sync, so a maintenance pass is planned rather than reactive.
Access to a consenting member account and any sandbox is arranged with you during onboarding; it is part of how the project runs, not something you clear before we start.
How current the data stays
Balances and postings reflect the member session at call time, so a poll on the account-list and per-share history calls is as fresh as the It's Me 247 web and app experience itself. e-Alerts are the more interesting freshness lever: where the member enables them, triggered notices (posted item, low balance, large debit) can drive a near-real-time event feed instead of tight polling, which also keeps the session count down on a small institution's platform.
How we hand back the shapes
The credit-union model is normalized so consumers do not re-implement it. Two representative shapes:
{ "account": {
"institution": "route-31-credit-union",
"kind": "share|checking|certificate|loan|card",
"suffix": "001",
"label": "Checking",
"balance": { "current": 512.07, "available": 489.07, "currency": "USD" },
"certificate": { "maturity": "2027-03-01", "rate_pct": null } } }
{ "transaction": {
"account_suffix": "001",
"posted_at": "2026-05-12",
"amount": -38.42,
"description": "POS PURCHASE",
"status": "posted",
"running_balance": 489.07 } }
Screens this brief was built from
Store screenshots of the Route 31 Credit Union app, used to confirm the surfaces described above. Select to enlarge.
Other credit-union apps in the same data picture
Anyone aggregating Route 31 usually wants other credit-union apps in one normalized feed. Each holds the same broad shape — member accounts, history, cards — behind its own login, which is why a single normalized schema is worth building once:
- Alliant Credit Union — large no-fee checking and savings, remote deposit, broad ATM network; member ledger behind login.
- Navy Federal Credit Union — military-affiliated members; deposits, loans and cards with heavy app usage.
- Digital Federal Credit Union (DCU) — high-yield savings and full deposit/loan accounts.
- Lake Michigan Credit Union — large Michigan-based institution; checking, mortgage and card data.
- Credit Union ONE — Southeast Michigan footprint; standard share, loan and card surfaces.
- Community Choice Credit Union — Michigan personal and business banking with mobile deposit.
- Michigan First Credit Union — Metro Detroit and Grand Rapids; deposits, loans, card controls.
- Members First Credit Union — Michigan; the M1 app fronts member accounts and transfers.
- Advia Credit Union — multi-state (MI, WI, IL) deposits, loans and cards behind one login.
Questions a Route 31 integrator actually raises
Does the app bundle still say Muskegon Co-op, and does that change anything?
Yes. The Android package is com.muskegoncoop.muskegoncoop per its Google Play listing, a leftover from the pre-2022 name before the rebrand to Route 31. Legacy strings carrying the old Muskegon Co-op name can still appear in tokens and endpoint paths, so we account for them rather than assume everything reads Route 31.
Can Plaid or MX already pull Route 31 through a member link?
Coverage of a single-charter Muskegon credit union running It's Me 247 through the consumer-permissioned aggregator networks is uneven. Where a member can connect it, we ride that path; we do not assume it, and we build the authorized app-interface route as the dependable spine.
How do share certificates and sub-savings come back versus a normal bank account?
As credit-union share accounts with suffix and ID codes, not flat account numbers. We normalize the share and suffix structure so certificates, sub-savings and loans stay distinct instead of collapsing into one balance.
Who regulates Route 31, and does the stalled CFPB data rule apply here?
It is a federally chartered credit union supervised by the NCUA, with member privacy under the Gramm-Leach-Bliley Act Regulation P. The CFPB Personal Financial Data Rights rule is enjoined and back in agency reconsideration, and a credit union this size sat at the very back of any timeline even under the rule as finalized, so the integration rests on the member's own authorization rather than that rule.
We only have iOS members. Is the route different from Android?
The same It's Me 247 session and share-account model sit behind both builds. We pin the work to Route 31's tenant and target whichever platform's traffic you need; the resulting data shape is the same on either.
How this brief was assembled
Checked in May 2026 against the credit union's own online-banking and about pages, its app-store listings, public credit-union directories, and primary US regulatory material on the CFPB Personal Financial Data Rights rule. The It's Me 247 platform name and the app feature set come from Route 31's online-banking page; the rebrand from Muskegon Co-op Federal Credit Union and the package identifier from the about page and Play listing.
- Route 31 Credit Union — online/mobile banking (It's Me 247, app features)
- Route 31 Credit Union — about (rebrand from Muskegon Co-op Federal Credit Union)
- Google Play listing — package com.muskegoncoop.muskegoncoop
- CFPB Section 1033 status — reconsideration and litigation
Mapped by the OpenBanking Studio integration desk · May 2026.
Starting the build
Source for the balance, share-certificate, loan and card-status calls arrives runnable, with the OpenAPI spec, tests and interface documentation, inside one to two weeks. You can take the source-code delivery from $300, paid only after delivery once it works the way you need — or skip the build entirely and call our hosted endpoint with no upfront fee, paying only for the calls you make. Send the app name and what you want from its data through our contact page and we will scope it.
App profile — Route 31 Credit Union, the neutral recap
Route 31 Credit Union is a community credit union in Muskegon, Michigan, formerly Muskegon Co-op Federal Credit Union, which rebranded in 2022; it operates two Muskegon branches per its own site and is supervised by the NCUA. Its mobile app (Android package com.muskegoncoop.muskegoncoop per Google Play; also on the App Store) provides members access to the It's Me 247 online banking site, mobile check deposit, account balances and history for savings, checking, certificates, loans and cards, the Manage My Cards card-control feature, e-Alerts, and branch and contact information.