---
title: "List Accounts"
method: GET
path: "/api/openbanking/accounts/{user_id}"
tags: ["openbanking"]
---

# List Accounts

`GET /api/openbanking/accounts/{user_id}`

## Request

- Base URL: `https://api.earmarkiq.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.earmarkiq.app/api/openbanking/accounts/{user_id}`
- Auth: HTTP bearer

Return all bank connections for the user (including expired for re-auth prompt).

Includes provider="demo" (seeded review/beta accounts) so the demo bank
appears in Settings → Connected Banks like a real connection.

## Path parameters

- `user_id` string, uuid, required

## Response `200`

Successful Response

- BankConnectionResponse[]
  - `id` string, required
  - `institution_id` string, nullable, required
  - `institution_name` string, nullable, required
  - `institution_logo_url` string, nullable, required
  - `account_name` string, nullable, required
  - `account_type` string, nullable, required
  - `sort_code` string, nullable, required
  - `account_number` string, nullable, required
  - `currency` string, required
  - `balance` number, nullable
  - `balance_updated` string, nullable
  - `status` string, required
  - `last_synced_at` string, nullable, required
  - `connected_at` string, required
  - `consent_expired` boolean
  - `consent_expires` string, nullable
  - `consent_last_authorised_at` string, nullable
  - `last_sync_status` string, nullable
  - `last_sync_error` string, nullable
  - `last_sync_attempted_at` string, nullable
  - `stale` boolean

## Other responses

- `422`: Validation Error

---

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