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

# List Accounts

`GET /v1/accounts`

Returns the accounts the member holds, resolved from the connected core banking system. Each entry carries an accountUuid to send back as the account_uuid query param on List Disputable Transactions and the Eligibility Check — echo it verbatim rather than reconstructing it. Use description as the display label in an account picker, and account_type to filter to one or more account types (repeat the query param, e.g. account_type=ACCOUNT_TYPE_DEBIT&account_type=ACCOUNT_TYPE_CREDIT); omit it to receive every type. Accounts the member only partly owns are included with holderType describing the ownership; no other account holder's details are ever returned. This is the only endpoint whose customer_uuid also accepts the member's tax id instead of a Casap-issued identifier: encrypt it with the org's Casap-issued public key using RSA-OAEP with SHA-256 as both the OAEP and MGF1 digest — many OAEP tools default MGF1 to SHA-1, which silently produces ciphertext this API can't decrypt, surfacing as a generic "not a recognized customer identifier" error with no hint at the digest mismatch. Base64-encode the ciphertext, then percent-encode the result before placing it in the query string — raw base64's `+`, `/`, and `=` are otherwise misread as query-string syntax. Every other endpoint's customer_uuid only accepts the canonical identifier this endpoint resolves to (or one Casap already issued); it is passed through as-is there, never decrypted.

## Query parameters

- `customerUuid` string
- `accountType` string[]

## Response `200`

A successful response.

- V1ListAccountsResponse — ListAccountsResponse returns every account the member holds that the org exposes, each with the account_uuid the rest of the flow expects.
  - `accounts` DtoMemberAccount[]
    - `accountUuid` string — account_uuid is the identifier every other endpoint expects. Despite the name it is not a UUID: it is the member id followed by the zero-padded share id (member_id + share_id below). Echo it back verbatim rather than reconstructing it.
    - `customerUuid` string — customer_uuid is the canonical member identifier this account resolved to, suitable for the customer_uuid argument on the other endpoints.
    - `memberId` string — member_id is the member/CIF number: the leading component of account_uuid.
    - `shareId` string — share_id is the account's id within the member (share or loan), zero-padded to 4 digits: the trailing component of account_uuid.
    - `description` string — description is the account's core description, falling back to its nickname. Suitable as the display label in an account picker.
    - `holderType` string — holder_type is this member's ownership of the account, e.g. "Primary", "Joint", or "Beneficiary". Not a closed set: some core banking systems pass their own relationship text through verbatim, so new values can appear without notice.
    - `accountType` 'ACCOUNT_TYPE_UNKNOWN' | 'ACCOUNT_TYPE_DEBIT' | 'ACCOUNT_TYPE_CREDIT' — AccountType splits accounts the way the core banking systems do: deposit and share accounts, whose transactions are debit, versus credit card and loan accounts, whose transactions are credit.
    - `openedAt` string, int64 — opened_at is the epoch timestamp the account was opened, 0 when the core does not report a parseable open date.

## Other responses

- `default` — An unexpected error response.

---

[API](https://skmtc.net/casaphq/apis/casap-api.md) · [All operations](https://skmtc.net/casaphq/apis/casap-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/casaphq/casap-api/revisions/fe77c76cdc4a/schema)
