---
title: "Which bank services are open here, and what each reaches"
method: GET
path: "/api/v1/banking/providers"
tags: ["Money"]
---

# Which bank services are open here, and what each reaches

`GET /api/v1/banking/providers`

## Request

- Base URL: `http://localhost:5180`
- URL: `http://localhost:5180/api/v1/banking/providers`
- Auth: API key in cookie `better-auth.session_token`

What a screen needs to decide whether to offer connecting a bank, and through which service. Each service says whether this deployment holds its client id, whether it holds the rest of its credentials, and whether this team may use it. Each of the team’s bank accounts carries what the two services answered about it when it was added, and `offer` is which one to put in front of the owner: Ponto wherever it reaches the bank, because it reads an account without it leaving the European Economic Area, and Plaid for what Ponto does not reach. An account nothing has answered about yet says it is still checking rather than guessing.

## Response `200`

What can be connected here.

- object
  - `ok` unknown, required
  - `data` object, required
    - `providers` object[], required
      - `id` 'ponto' | 'plaid', required
      - `enabled` boolean, required: Whether this deployment holds the service’s client id, which is what offers it at all.
      - `available` boolean, required: Whether it also holds the rest of the credentials to talk to it. A client id alone offers nothing.
      - `offered` boolean, required: Whether this team in particular may start a connection with it.
    - `accounts` object[], required
      - `bankAccountId` string, required: Stable record id, e.g. `lse_012`.
      - `ponto` 'supported' | 'unknown' | 'unsupported', nullable, required
      - `plaid` 'supported' | 'unknown' | 'unsupported', nullable, required
      - `pontoBank` string
      - `plaidInstitution` string
      - `checking` boolean, required: Nothing has answered yet and an attempt is still due, so the screen says it is still checking.
      - `offer` 'ponto' | 'plaid', nullable, required: Which service to offer for this account, or null where neither reaches the bank or neither is switched on.
  - `meta` object, required
    - `requestId` string, required: Echoed in the x-request-id header. Quote it in a bug report.

---

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