> ## 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.

# Application, Qualification & Repricing

> Prefill loan applications with verified liability data, pre-qualify borrowers before the long form, and run CLI / repricing on real-time liability data.

## Application Prefill

*Replaces manual debt entry in loan applications.*

From the applicant's name and phone, Method discovers their full liability picture via soft credit pull, fetches real-time balances, and feeds them straight into the application form wherever you ask the user to type their debts. For auto refi flows, Vehicle enrichment adds make, model, year, and VIN alongside the auto loan balance.

### How it works

The applicant enters name and phone, IDV verifies identity, Connect performs a soft credit pull to discover all liabilities, Account-Update fetches current balances, and (for auto refi) Vehicles enriches each auto loan. The application form arrives pre-populated wherever debts would be typed. All monetary values are in **cents** (`320000` = \$3,200.00).

<Steps>
  <Step title="Create the Entity">
    `POST /entities`. Providing `ssn_4` and `dob` significantly improves match rates during account discovery.

    <Expandable title="request">
      ```bash theme={null}
      curl https://production.methodfi.com/entities \
        -X POST \
        -H "Method-Version: 2026-03-30" \
        -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
        -H "Content-Type: application/json" \
        -d '{
          "type": "individual",
          "individual": {
            "first_name": "James",
            "last_name": "Rodriguez",
            "phone": "+12125550456",
            "email": "james.rodriguez@email.com",
            "dob": "1989-03-22",
            "ssn_4": "5678"
          },
          "address": {
            "line1": "456 Oak Ave",
            "city": "Brooklyn",
            "state": "NY",
            "zip": "11201"
          }
        }'
      ```
    </Expandable>
  </Step>

  <Step title="Verify the phone with BYO SMS">
    `POST /entities/{ent_id}/verification_sessions`. Assert a phone number you already verified in your own onboarding by passing the ISO 8601 timestamp of when you verified it. BYO SMS requires your team to be pre-authorized, so contact your Method CSM to enable it.

    <Expandable title="request">
      ```bash theme={null}
      curl https://production.methodfi.com/entities/ent_qKNBB68bfHGNA/verification_sessions \
        -X POST \
        -H "Method-Version: 2026-03-30" \
        -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
        -H "Content-Type: application/json" \
        -d '{ "type": "phone", "method": "byo_sms", "byo_sms": { "timestamp": "2026-03-30T12:00:00.000Z" } }'
      ```
    </Expandable>
  </Step>

  <Step title="Soft-pull credit report via Connect">
    `POST /entities/{ent_id}/connect`. Discovers every liability on the bureau file in a single call. No score impact.

    <Expandable title="request & response">
      ```bash theme={null}
      curl https://production.methodfi.com/entities/ent_qKNBB68bfHGNA/connect \
        -X POST \
        -H "Method-Version: 2026-03-30" \
        -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc"
      ```

      ```json theme={null}
      {
        "id": "cxn_4ewMmBbjYDMR4",
        "entity_id": "ent_qKNBB68bfHGNA",
        "status": "completed",
        "accounts": [
          "acc_WqNhMRNVZjbKg",
          "acc_TmGPLxkz7Nrh6",
          "acc_RkFqVbD8HjQxP",
          "acc_YXDrjADGjC76U",
          "acc_KpLnWzFt9Mjd3"
        ]
      }
      ```
    </Expandable>
  </Step>

  <Step title="Pull real-time data for each account">
    `POST /accounts/{acc_id}/updates`. Current balance, APR, due dates, and minimum payment direct from the FI.

    <Expandable title="request & response">
      ```bash theme={null}
      curl https://production.methodfi.com/accounts/acc_WqNhMRNVZjbKg/updates \
        -X POST \
        -H "Method-Version: 2026-03-30" \
        -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc"
      ```

      ```json theme={null}
      {
        "id": "upt_FKr8mV4hQzTpN",
        "status": "completed",
        "account_id": "acc_WqNhMRNVZjbKg",
        "type": "credit_card",
        "credit_card": {
          "available_credit": 480000,
          "balance": 320000,
          "credit_limit": 800000,
          "interest_rate_percentage_max": 24.99,
          "next_payment_due_date": "2025-10-01",
          "next_payment_minimum_amount": 8900,
          "usage_pattern": "revolver"
        }
      }
      ```
    </Expandable>
  </Step>

  <Step title="(Auto refi) Enrich auto loans with vehicle details">
    `POST /entities/{ent_id}/vehicles`. Returns VIN, year, make, model, style alongside the loan balance.

    <Expandable title="request & response">
      ```bash theme={null}
      curl https://production.methodfi.com/entities/ent_qKNBB68bfHGNA/vehicles \
        -X POST \
        -H "Method-Version: 2026-03-30" \
        -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc"
      ```

      ```json theme={null}
      {
        "id": "evhl_QnT4mKxBfVpJ8",
        "entity_id": "ent_qKNBB68bfHGNA",
        "vehicles": [{
          "vin": "7FARW2H83ME012345",
          "year": "2021",
          "make": "honda",
          "model": "cr-v",
          "style": "sport_utility_vehicle"
        }],
        "status": "completed"
      }
      ```
    </Expandable>
  </Step>
</Steps>

## Pre-qualification

Give borrowers an instant "yes, you qualify" before they invest time in the full application. Method facilitates the soft pull, your decisioning logic returns a qualify or not-yet, and only qualified applicants advance to the long form.

### How it works

Same upstream flow as Prefill (Entity → verify phone → Connect), with credit-health attributes feeding the eligibility decision. Applicants who pass drop into a Prefill-populated long form. Applicants who don't qualify never enter it.

<Steps>
  <Step title="Create and verify the Entity, then run Connect">
    Same calls as Prefill above. Connect returns the discovered accounts and, importantly, signals that the soft pull completed without a score impact.

    <Expandable title="request">
      ```bash theme={null}
      curl https://production.methodfi.com/entities/ent_qKNBB68bfHGNA/connect \
        -X POST \
        -H "Method-Version: 2026-03-30" \
        -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc"
      ```
    </Expandable>
  </Step>

  <Step title="Pull credit-health attributes for the decision">
    `POST /entities/{ent_id}/attributes`. Method computes the full attribute set (utilization, balances, APRs, trends, payment behavior, delinquency flags) automatically, no selector needed in v2. The endpoint is asynchronous: the initial response is `in_progress` with `attributes: null`. Subscribe to webhooks (`entity_attribute.create`) or poll the retrieve endpoint for the completed result.

    <Expandable title="request & response">
      ```bash theme={null}
      curl https://production.methodfi.com/entities/ent_qKNBB68bfHGNA/attributes \
        -X POST \
        -H "Method-Version: 2026-03-30" \
        -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc"
      ```

      ```json theme={null}
      {
        "id": "attr_dADraNgLBrhgL",
        "entity_id": "ent_qKNBB68bfHGNA",
        "status": "completed",
        "attributes": {
          "credit_card_utilization":          { "value": 38.0, "error": null },
          "overall_utilization":              { "value": 70.5, "error": null },
          "usage_pattern":                    { "value": "revolver", "error": null },
          "weighted_average_apr_credit_card": { "value": 24.99, "error": null },
          "payment_to_minimum_ratio_avg_credit_cards": { "value": 1.92, "error": null },
          "delinquency_flag_credit_cards":    { "value": "on_time", "error": null }
        }
      }
      ```
    </Expandable>
  </Step>
</Steps>

Your decision engine evaluates these (plus any model features layered on top) and returns qualify / not-yet. Qualified applicants drop into the Prefill flow.

## Credit Limit Increase (CLI) / Repricing

*Better terms or higher lines for approved customers, on Method liability data.*

For approved customers only. Use Method's real-time liability data to offer better terms or a higher credit line. It works two ways:

1. In real-time, second look: if Method data shows significant divergence from bureau data (e.g. the borrower's real-time utilization is 10% lower) then you can leverage this data to offer improved rates and terms.
2. On-demand: if a borrower requests a line extension, you can check Method's real-time data to determine eligibility.

### How it works

Two flows share the same underlying data. In the real-time flow, funded loans are enrolled in Update + Credit Score Subscriptions, and improvement signals fire as webhook events. In the on-demand flow, the customer requests a CLI and the lender pulls the current liability picture in real time.

**Real-time flow**

<Steps>
  <Step title="Enroll funded-loan accounts in Update Subscriptions">
    `POST /accounts/{acc_id}/subscriptions` with `enroll: update`. Delivers near-real-time balance and payment data as the FI reports changes.

    <Expandable title="request">
      ```bash theme={null}
      curl https://production.methodfi.com/accounts/acc_TmGPLxkz7Nrh6/subscriptions \
        -X POST \
        -H "Method-Version: 2026-03-30" \
        -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
        -H "Content-Type: application/json" \
        -d '{ "enroll": "update" }'
      ```
    </Expandable>
  </Step>

  <Step title="Enroll the entity in Credit Score Subscriptions">
    `POST /entities/{ent_id}/subscriptions` with `enroll: credit_score`. Fires when the score crosses thresholds you care about. When Method detects new update data, you receive a webhook pointing at the new update.

    <Expandable title="request & webhook">
      ```bash theme={null}
      curl https://production.methodfi.com/entities/ent_qKNBB68bfHGNA/subscriptions \
        -X POST \
        -H "Method-Version: 2026-03-30" \
        -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
        -H "Content-Type: application/json" \
        -d '{ "enroll": "credit_score" }'
      ```

      ```json theme={null}
      {
        "id": "whk_Rm4nPqTx8LjWv",
        "type": "update.update",
        "path": "/accounts/acc_TmGPLxkz7Nrh6/updates/upt_Hx9mRnKw3PfTq"
      }
      ```
    </Expandable>
  </Step>
</Steps>

**On-demand flow**

<Steps>
  <Step title="Pull a fresh update when the customer requests a CLI">
    `POST /accounts/{acc_id}/updates`. Size the upgrade against verified, real-time data rather than bureau lag.

    <Expandable title="request">
      ```bash theme={null}
      curl https://production.methodfi.com/accounts/acc_WqNhMRNVZjbKg/updates \
        -X POST \
        -H "Method-Version: 2026-03-30" \
        -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc"
      ```
    </Expandable>
  </Step>
</Steps>

## What's Next

<CardGroup cols={2}>
  <Card title="Direct Pay" icon="money-bill-transfer" href="/2026-03-30/guides/use-cases/lending/debt-consolidation">
    Disburse loan proceeds straight to creditors and turn direct payoff into a pricing lever.
  </Card>

  <Card title="Portfolio Intelligence" icon="chart-line" href="/2026-03-30/guides/use-cases/lending/portfolio-monitoring">
    Monitor borrower liability, utilization, and delinquency signals continuously after origination.
  </Card>
</CardGroup>
