Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.methodfi.com/llms.txt

Use this file to discover all available pages before exploring further.

Keeping Account Data Fresh and Accurate

What an Update Is

An Update is the mechanism through which Method delivers the latest state of a connected account: current balance, payment due date, minimum payment amount, interest rate, credit limit, and other relevant fields depending on the account type. If Connect is how you discover accounts, Updates are how you keep those accounts’ data current over time. The freshness and accuracy of your account data directly impacts the quality of your product experience. A debt repayment app that shows last month’s balance feels broken. A payment scheduler that uses stale due dates risks missed payments. Updates are how you ensure your product reflects financial reality, not an outdated snapshot.

Two Sources of Truth: Snapshot vs. Direct

Updates come from two fundamentally different data sources, and choosing between them is an important product decision:

Checking Update Availability

Before requesting an Update, check the account’s products array:
  • update in products means direct Updates are available (real-time data from the institution).
If update is in restricted_products instead of products, direct Updates require additional steps (e.g., account verification). If update does not appear, data retrieval isn’t currently available for this account.
Pull data from the user’s credit report. Credit reports are compiled by the major bureaus and updated when creditors submit their reporting data, typically on a monthly cycle. Snapshot data is available for the broadest range of accounts and returns instantly (synchronously), but it’s only as fresh as the most recent creditor report.
AttributeDetail
FreshnessMonthly (credit report cycle)
ResponseInstant (synchronous)
CoverageBroadest, works for virtually every account
Best for: Building account overview screens, displaying general balance trends, monitoring credit health over time, showing account summaries where approximate data is acceptable, or when you need data for account types where direct connections aren’t available. Snapshot Updates are your reliable baseline. They work for virtually every discovered account and provide a good-enough picture for many use cases.
curl https://production.methodfi.com/accounts/acc_yVf3mkzbhz9tj/updates \
  -X POST \
  -H "Method-Version: 2026-03-30" \
  -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
  -H "Content-Type: application/json" \
  -d '{"type": "snapshot"}'
Many products use both: snapshot data as the default display, with direct Updates triggered when the user takes an action that requires current data (like preparing to make a payment).

The Update Flow

On-Demand (Direct) Update

Step 1: Request a direct Update
curl https://production.methodfi.com/accounts/acc_yVf3mkzbhz9tj/updates \
  -X POST \
  -H "Method-Version: 2026-03-30" \
  -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
  -H "Content-Type: application/json" \
  -d '{"type": "direct"}'
The response returns immediately with status: pending:
{
  "id": "upt_NYV5kfjskTTCJ",
  "status": "pending",
  "account_id": "acc_yVf3mkzbhz9tj",
  "source": "direct",
  "type": "credit_card",
  "credit_card": null,
  "error": null,
  "created_at": "2024-03-20T04:43:21.434Z",
  "updated_at": "2024-03-20T04:43:21.655Z"
}

Step 2: Wait for completion

Listen for the update.update webhook:
{
  "type": "update.update",
  "path": "/accounts/acc_yVf3mkzbhz9tj/updates/upt_NYV5kfjskTTCJ"
}

Step 3: Retrieve the completed Update

curl https://production.methodfi.com/accounts/acc_yVf3mkzbhz9tj/updates/upt_NYV5kfjskTTCJ \
  -H "Method-Version: 2026-03-30" \
  -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc"
The completed Update contains the account’s current data:
{
  "id": "upt_NYV5kfjskTTCJ",
  "status": "completed",
  "account_id": "acc_yVf3mkzbhz9tj",
  "source": "direct",
  "type": "credit_card",
  "data_as_of": "2024-03-20T04:43:21.434Z",
  "credit_card": {
    "available_credit": 120000,
    "balance": 80000,
    "credit_limit": 200000,
    "interest_rate_percentage_max": 23.5,
    "interest_rate_percentage_min": 12.0,
    "interest_rate_type": "variable",
    "last_payment_amount": 5000,
    "last_payment_date": "2024-04-05",
    "next_payment_due_date": "2024-05-01",
    "next_payment_minimum_amount": 4000,
    "opened_at": "2018-10-30"
  },
  "error": null,
  "created_at": "2024-03-20T04:43:21.434Z",
  "updated_at": "2024-03-20T04:43:21.655Z"
}

Reading the Update Response

The Update response wraps the account data inside a liability-type object. The key fields:
FieldDescription
sourcesnapshot or direct, which data source this Update used.
typeThe liability type: credit_card, auto_loan, student_loans, mortgage, personal_loan, etc.
data_as_ofTimestamp of when this data was current. For direct, this is the moment the institution responded. For snapshot, this is when the creditor last reported to the bureau.
[liability_type]The data object (e.g., credit_card, auto_loan). Contains the balance, rates, payment info, and dates specific to that account type.
statuspending, processing, completed, or failed. See Update Lifecycle.
errorPopulated if the Update failed. See Handling Failures.
All monetary amounts are in cents. A balance of 80000 means 800.00.Alastpaymentamountof5000means800.00. A `last_payment_amount` of `5000` means 50.00.

Next Steps

Update Subscriptions

Set up automatic data refreshes without manual requests.

Update Lifecycle

Understand the stages of an Update request.

Billing Lifecycle

See how billing stage affects which fields are returned.

Handling Failures

Design resilient UX around failed or stale data.

Updates API Reference

Full endpoint documentation, fields, and error codes.