Skip to main content

How Discovery Works

Connect uses the verified Entity’s personally identifying information and the user’s consent to perform a soft-pull credit report. A soft pull is fundamentally different from a hard credit inquiry — it has zero impact on the user’s credit score and leaves no visible mark on their credit report. This is important messaging for your users, who may be hesitant about anything that touches their credit. The credit report reveals the user’s open liabilities across financial institutions. Method parses this data, matches it against its network of 15,000+ supported institutions, and creates account objects for each discovered liability. These accounts are immediately available in your application for data retrieval, monitoring, and (where supported) payment processing.
Processing time. Connect typically completes within seconds for most users. Users with extensive credit histories (many open accounts) may take slightly longer.
Account matching. Method matches each tradeline on the credit report against its network of 15,000+ financial institutions. When a match is found, Method creates an Account object with the appropriate products array based on what’s supported for that merchant and liability type. Unmatched tradelines (institutions not in Method’s network) are not returned.

Complete Connect Flow

Step 1: Create a Connect

curl https://production.methodfi.com/entities/ent_au22b1fbFJbp8/connect \
  -X POST \
  -H "Method-Version: 2025-12-01" \
  -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
  -H "Content-Type: application/json" \
  -d '{
    "products": ["balance", "update"],
    "subscriptions": ["update"]
  }'

Step 2: Wait for completion

Connect processes asynchronously when products or subscriptions are specified, or when the Prefer: respond-async header is set. Listen for the connect.update webhook to know when discovery is complete:
{
  "id": "whk_abc123",
  "type": "connect.update",
  "path": "/entities/ent_au22b1fbFJbp8/connect/cxn_4ewMmBbjYDMR4"
}

Step 3: Retrieve results

curl https://production.methodfi.com/entities/ent_au22b1fbFJbp8/connect/cxn_4ewMmBbjYDMR4 \
  -H "Method-Version: 2025-12-01" \
  -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc"
Expand for efficiency. Use the expand query parameter to include full Account objects, balances, card brands, or other data in the Connect response, avoiding additional API calls: ?expand=accounts,accounts.balance,accounts.card_brand

Synchronous vs Asynchronous Processing

A bare Connect request (no products, no subscriptions, no Prefer: respond-async header) processes synchronously — the response includes the completed results immediately. When you include products, subscriptions, or the Prefer: respond-async header, Connect processes asynchronously. The response returns immediately with status: pending or status: in_progress, and you’ll receive a connect.update webhook when processing completes.
Recommendation: Always set up webhooks for Connect. Even synchronous requests can take several seconds for users with many liabilities, and products/subscriptions always trigger async processing.

Requesting Products and Subscriptions at Connect Time

Connect can automatically execute products and set up subscriptions on all discovered accounts in a single call. This eliminates the need to iterate over accounts and make individual product requests after discovery. Available products:
  • balance: Retrieve balances for all discovered accounts
  • update: Pull real-time data from source institutions
  • card_brand: Retrieve card brand art and product names
  • attribute: Pull structured credit health metrics
  • payoff: Get payoff quotes (auto loans)
Available subscriptions:
  • update: Subscribe to real-time data refreshes
  • update.snapshot: Subscribe to periodic snapshot updates
  • card_brand: Subscribe to card brand changes
  • transaction: Subscribe to new transaction events
curl https://production.methodfi.com/entities/ent_au22b1fbFJbp8/connect \
  -X POST \
  -H "Method-Version: 2025-12-01" \
  -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
  -H "Content-Type: application/json" \
  -d '{
    "products": ["balance", "card_brand"],
    "subscriptions": ["update"]
  }'
Products and subscriptions are only executed on accounts where they’re available. If an account doesn’t support a product, requesting it won’t cause an error — it simply won’t apply to that account.

Connect Statuses

  • pending: The Connect request is queued for processing
  • in_progress: Discovery is actively running (soft pull being performed, accounts being matched)
  • completed: Discovery finished successfully, accounts are available
  • failed: Discovery failed (see error object for details)
Poll the Connect status or listen for connect.update webhooks to track progress.

Connect vs. Manual Connect

Connect is the automatic discovery path — Method finds the accounts for you. But there are scenarios where you already have account data from another source (a prior data pull, user input, a partner integration) and want to register those accounts in Method without re-discovering them. That’s what Manual Connect is for. Manual Connect creates account objects from data you provide, bypassing the credit report discovery step. This is useful for: migrating existing users from a legacy system, supplementing discovered accounts with additional accounts the user provides manually, or connecting accounts that aren’t reported to credit bureaus (and therefore wouldn’t be discovered through Connect).
Method performs a soft-pull credit report and automatically discovers the user’s liabilities.Use when:
  • Onboarding new users
  • You want the broadest possible account discovery
  • Users don’t know all their account details
curl https://production.methodfi.com/entities/ent_au22b1fbFJbp8/connect \
  -X POST \
  -H "Method-Version: 2025-12-01" \
  -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
  -H "Content-Type: application/json" \
  -d '{}'

Coverage — What Gets Discovered

Connect’s coverage spans the broad spectrum of consumer liabilities, including:
  • Credit cards from major issuers and regional banks
  • Auto loans from captive lenders and financial institutions
  • Federal and private student loans
  • Personal and installment loans
  • Mortgages and home equity lines of credit (HELOCs)
  • Collections accounts
  • Medical debt
  • Insurance payment obligations
  • Utility accounts
  • Buy Now Pay Later (BNPL) obligations
  • Credit builder accounts
  • Fintech-originated loans
Coverage notes:
  • Credit cards, auto loans, and student loans have the broadest coverage across issuers
  • Collections accounts are reported inconsistently across bureaus — some may not appear
  • BNPL and utility accounts have growing but variable coverage
  • Closed accounts are included in the first Connect call but may have limited product availability
  • Coverage varies by specific institution, not just liability type. A major bank’s credit cards will have broader product support than a small regional lender’s

Expanding Connect Results

Use the expand query parameter to include full Account objects and their sub-resources directly in the Connect response, eliminating additional API calls:
POST /entities/{ent_id}/connect?expand=accounts,accounts.balance,accounts.card_brand
Available expansions: accounts, accounts.balance, accounts.card_brand, accounts.attribute, accounts.update, accounts.payment_instrument, accounts.latest_verification_session. If you expand a sub-field, the parent accounts expansion is applied automatically.