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
iduuidConnection UUID. Use this in path parameters for get, revoke, and reconnect-link.
providerstringBank-feed provider (for example `plaid` or `akahu`).
institutionNamestringDisplay name of the financial institution when available.
statusstringConnection health / lifecycle status.
lastSyncAtdatetimeISO 8601 timestamp of the most recent successful sync, when available.
accountsarrayLinked bank accounts on this connection.
createdAtdatetimeISO 8601 creation timestamp.
updatedAtdatetimeISO 8601 last-update timestamp.
{
"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.Related
Recent changes
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
/partners/connectionsLists every bank-feed connection for the workspace.
/partners/connections/connect-linkMints a Plaid Hosted Link URL for connecting a new bank account.
/partners/connections/connect-link/completePolls whether the human finished Hosted Link and creates the connection when ready.
/partners/connections/{uuid}Retrieves a single connection by UUID.
/partners/connections/{uuid}/revokeRevokes the provider access token so the connection stops syncing.
/partners/connections/{uuid}/reconnect-linkMints a Plaid Hosted Link URL in update mode for an existing connection.
