COUNTCOUNT
Sign Up

API Reference

Connections

List and manage bank-feed connections (Plaid, Akahu, and similar). New connections require a human to complete Plaid Hosted Link in a browser.

Last updated 2026-07-28

Overview

The Connections API exposes bank-feed provider connections for the authenticated workspace. Use it to inventory linked institutions, revoke access tokens, and drive the Plaid Hosted Link flow for new or re-authenticated connections.

Connecting a bank cannot be completed by API alone — a human must select their institution and log in through Plaid Hosted Link. Mint a link with create-connect-link, hand `hostedLinkUrl` to the user, then poll complete-connect-link with the same `linkToken` until status is `completed` or `exited`.

Key concepts

Human-in-the-browser connect

POST /partners/connections/connect-link returns `{ linkToken, hostedLinkUrl }`. The connection is not created until POST /partners/connections/connect-link/complete succeeds with status `completed`.

Poll complete safely

complete-connect-link is safe to call repeatedly: `pending` while the user is still in Link, `exited` if they closed without connecting, `completed` once the connection exists (including when a duplicate poll races an earlier success).

Revoke vs delete

PATCH …/revoke revokes the provider access token so syncing stops. Historical accounts, transactions, and journal entries are left untouched. Destructive delete-connection / delete-transactions actions are not exposed on the Partner API.

Reconnect (update mode)

POST …/reconnect-link mints a Plaid Hosted Link URL in update mode for an existing (for example errored/expired) connection. Plaid only — other providers return 400.

The connection object

Fields commonly returned on a connection. Exact nesting of linked accounts varies by provider.

Attributes

iduuid

Connection UUID. Use this in path parameters for get, revoke, and reconnect-link.

providerstring

Bank-feed provider (for example `plaid` or `akahu`).

institutionNamestring

Display name of the financial institution when available.

statusstring

Connection health / lifecycle status.

lastSyncAtdatetime

ISO 8601 timestamp of the most recent successful sync, when available.

accountsarray

Linked bank accounts on this connection.

createdAtdatetime

ISO 8601 creation timestamp.

updatedAtdatetime

ISO 8601 last-update timestamp.

Example
{
  "id": "66778899-aabb-ccdd-eeff-001122334455",
  "provider": "plaid",
  "institutionName": "Chase",
  "status": "active",
  "lastSyncAt": "2026-01-28T14:22:30.000Z",
  "createdAt": "2026-01-15T10:30:00.000Z",
  "updatedAt": "2026-01-28T14:22:30.000Z",
  "accounts": [
    {
      "id": "c8d9e0f1-a2b3-4567-cdef-789012345678",
      "name": "Business Checking",
      "mask": "1234",
      "type": "depository"
    }
  ]
}

Link tokens expire

Hosted Link URLs expire after a few hours. Mint a fresh connect-link or reconnect-link if the user has not finished before expiry.

MCP equivalents

COUNT_list_connections, COUNT_get_connection, COUNT_revoke_connection, COUNT_create_connect_link, COUNT_complete_connect_link, COUNT_create_reconnect_link.

Recent changes

2026-07-28

Connections, reconciliations, opening balance, workspace cutover, and transaction bulk ops

Documented Partner API groups for bank Connections (including Plaid Hosted Link connect/complete/reconnect), Reconciliations (create draft + complete), Opening Balance (get/set conversion balance), and Workspace (PATCH cutoverDate). Added PATCH /partners/transactions/change-category-bulk and exclude-bulk. Removed non-existent POST /partners/bills/bulk and /partners/invoices/bulk from the reference. Extended the MCP tool catalog with the matching COUNT_* tools plus remote-only COUNT_get_bulk_task_status and COUNT_remember/recall/forget.

Endpoints