> ## Documentation Index
> Fetch the complete documentation index at: https://docs.layerfi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bank connections and custom imports

> Hosted Plaid Link, repair, confirm accounts, and JSON custom bank imports.

Banking import tools are in the `banking_imports` group (not in default provisioned groups). Bank account **reads** (`list_bank_accounts`, `get_bank_account`) are also in `core`.

Prefer **JSON** custom transaction import over CSV. `start_plaid_link` returns a **hosted Link URL** for a human to open.

REST guides: [Importing bank data](/guides/importing-bank-data), [Plaid](/integrations/banking/plaid), [Custom Plaid account linking](/guides/custom-plaid-account-linking).

## Plaid (hosted Link)

<Steps>
  <Step title="Start hosted Link">
    Call `start_plaid_link`. Optional `hosted_link_params` in the body. Open the returned hosted URL in a browser.
  </Step>

  <Step title="List and confirm accounts">
    After the human finishes Link, `list_external_accounts`. Confirm with `confirm_external_account` or drop with `exclude_external_account` (destructive).
  </Step>

  <Step title="Check connection health">
    `get_bank_connection_status` refreshes Plaid/external-account status after Link.
  </Step>

  <Step title="Repair a disconnected item">
    `start_plaid_repair` starts update-mode Link. Body must include `plaid_item_id`. Returns a hosted URL.
  </Step>
</Steps>

Search phrases: hosted Link URL, repair, reconnect, confirm account, exclude account.

## Custom bank accounts

CRUD plus:

* `set_custom_bank_account_opening_balance`
* `import_custom_bank_transactions` — **JSON, preferred**
* `import_custom_bank_transactions_csv`
* `list_transaction_imports`, `archive_transaction_import` (destructive)
* `archive_custom_bank_account` (destructive), `reactivate_custom_bank_account`

Search phrases: custom bank, JSON import preferred, CSV upload.
