Updates a bank account. Card links are detected automatically — the first time a card's transactions produce a high-confidence match against this account's feed, the card is linked without any API call. This endpoint is the manual override: use it to pre-link cards before any spend exists, correct an assignment, or import history.
Each card in cardIds must belong to the same subaccount as the bank account. A card can only be linked to one bank account at a time — attempting to link a card that is already associated with another bank account will return a 409 Conflict error.
cardIds is a full replacement. Send cardIds: [] to clear explicit links (automatic detection can re-link a card on its next high-confidence match). Virtual bank accounts declare their cards explicitly and must always have at least one.
Optionally include a backfill object with startDate and/or endDate to trigger a backfill of historical bank transactions for the specified date range. An automatically detected link re-matches the account's already-synced unmatched transactions around the new card's activity on its own; IMPORTING bank history from before the link (pulling older transactions from the provider) still happens only through this endpoint's backfill.
The current card set is always readable at GET /bank-accounts/{bankAccountId} (cardIds), and GET /bank-accounts?cardId= finds the account a card is linked to.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||