---
title: "List external accounts"
method: GET
path: "/external-accounts"
tags: ["External Accounts"]
---

# List external accounts

`GET /external-accounts`

List linked external accounts

## Query parameters

- `cursor` string — Cursor from the previous page.
- `limit` integer — Maximum results per page.

## Headers

- `X-Instance-ID` string, nullable

## Response `200`

Successful Response

- object
  - `data` object[], required
    - `type` 'externalAccount', required — Resource type. Always `externalAccount`.
    - `id` string, required — External account ID (eac_*).
    - `attributes` object, required
      - `lastFour` string, required — Last four digits of the external bank account.
      - `status` 'pending' | 'new' | 'active' | 'disabled' | 'deleted' | 'unknown', required — Lifecycle status of the external account.
      - `connectionStatus` 'active' | 'login_required' | 'disconnected', required — Bank connection health. Relink the account when it is `login_required` or `disconnected`.
      - `availableMethods` string[], required — Withdrawal delivery methods this account supports.
      - `createdAt` string, date-time, required — RFC 3339 timestamp when the account was linked.
      - `bankName` string, nullable, required — Bank institution name, when available.
      - `accountName` string, nullable, required — Bank account display name, when available.
      - `accountType` 'checking' | 'savings' | 'unknown', nullable, required — Bank account type, when available.
      - `tags` object, required — Metadata visible to anyone who can read the resource.
    - `relationships` object, required
      - `party` object, required — Party that owns the external account.
        - `data` object, required — Related resource identifier.
          - `type` 'party', required — Resource type. Always `party`.
          - `id` string, required
  - `meta` object, required
    - `pagination` object, required
      - `hasMore` boolean, required — Whether more results are available.
      - `nextCursor` string, nullable, required — Cursor for the next page, or null when there are no more results.

## Other responses

- `400` — Validation Error
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found. Returned when the resource does not exist, or when it exists but is not accessible to your account. The two cases are intentionally indistinguishable, so that resource IDs cannot be enumerated by probing.
- `409` — Conflict
- `422` — Validation Error. The response contains one error object for each invalid request value.
- `428` — Precondition Required
- `429` — Too Many Requests
- `500` — Internal Server Error
- `501` — Not Implemented
- `502` — Bad Gateway
- `503` — Service Unavailable

## Changes

- **2026-09-02** `c7c12da5915f` — 12 info
  - added the optional property `errors/items/meta/limitScope` to the response with the `400` status
  - added the optional property `errors/items/meta/limitScope` to the response with the `401` status
  - added the optional property `errors/items/meta/limitScope` to the response with the `403` status
  - added the optional property `errors/items/meta/limitScope` to the response with the `404` status
  - …8 more
- **2026-08-27** `359d267dca88` — 1 info
  - deleted the `header` request parameter `X-Agent-ID` with deprecation
- **2026-08-23** `b1ad79e918ac` — 1 info
  - `header` request parameter `X-Agent-ID` was deprecated
- **2026-08-14** `7271de071ca5` — 1 info
  - added the required property `data/items/attributes/tags` to the response with the `200` status
- **2026-08-06** `5b54392d3699` — 1 info
  - added the required property `data/items/attributes/availableMethods` to the response with the `200` status

[Full history](https://skmtc.dev/natural/apis/natural-api/changes/external-accounts/get.md)

---

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