---
title: "Get a bank connection"
method: GET
path: "/v1/banks/{bid}"
tags: ["Banks"]
---

# Get a bank connection

`GET /v1/banks/{bid}`

## Request

- Base URL: `https://api.banksync.io`
- URL: `https://api.banksync.io/v1/banks/{bid}`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

## Path parameters

- `bid` string, required: Bank ID

## Response `200`

Bank detail. A bank undergoing permanent removal, or one whose removal failed, is returned with `removalStatus` rather than 404 — otherwise a caller polling after a removal request could not tell "gone" from "stuck".

- object
  - `success` true, required
  - `data` object, required
    - `id` string, required
    - `name` string, required
    - `source` 'plaid' | 'snaptrade' | 'saltedge' | 'fiskil' | 'quiltt', required
    - `type` string, required
    - `order` number, required
    - `icon` string
    - `connectionStatus` object
      - `connected` boolean
      - `status` string
      - `errorCode` string
      - `errorMessage` string
      - `lastCheckedAt` string
      - `source` 'provider_call' | 'webhook' | 'reconciler' | 'user'
    - `institutionId` string
    - `createdAt` string, required
    - `updatedAt` string, required
    - `links` object, required
    - `removalStatus` object: Progress of a permanent removal. `removing` = the teardown is queued or running. `failed` = it stopped and the bank was kept. A `provider` failure can be reactivated or retried; a `local` failure happened after disconnection and can only be retried.
      - `state` 'removing' | 'failed', required
      - `reason` string
      - `stage` 'provider' | 'local'

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found

---

[API](https://skmtc.dev/banksync/apis/banksync-api.md) · [All operations](https://skmtc.dev/banksync/apis/banksync-api/llms.txt) · [OpenAPI document](https://skmtc.dev/banksync/apis/banksync-api/revisions/94465f5ee922?raw)
