---
title: "Get External Account by Idempotency Key"
method: GET
path: "/v1/customers/{customer_id}/external-accounts"
tags: ["External Accounts (Withdraw to Self)"]
---

# Get External Account by Idempotency Key

`GET /v1/customers/{customer_id}/external-accounts`

Retrieve an external bank account using its idempotency key.

**Functionality:**
- Looks up an external account by the idempotency key provided during account creation
- Useful for clients to check if an account was successfully created when using idempotent requests

**Recipient Accounts:**
- This endpoint can return both first-party and recipient (third-party) bank accounts
- If the account belongs to a recipient, the response will include a `recipient` object with full recipient details

## Path parameters

- `customer_id` string, required

## Query parameters

- `idempotency_key` string, required — HTTP `Idempotency-Key` header value. Stricter than other IDs: ≤64 ASCII chars per the common REST API convention.

## Response `200`

Successfully retrieved external account by idempotency key

- ExternalAccountResponse — Response object containing complete external bank account information
  - `external_account_id` string, required — Unique identifier for the external account (UUID format). Use this ID for all subsequent operations (retrieve, delete, withdrawals).
  - `idempotency_key` string, required — HTTP `Idempotency-Key` header value. Stricter than other IDs: ≤64 ASCII chars per the common REST API convention.
  - `customer_id` string, required — Portfolio ID — also exposed as `customer_id` in OpenAPI. Identifies one individual application / portfolio row within an entity.
  - `status` 'PENDING' | 'APPROVED' | 'FAILED', required
  - `network` string, required
  - `nickname` string, required — User-defined nickname or label for the account (optional). Helps identify the account in listings.
  - `account_holder_name` string, required — Full legal name of the account holder (individual or entity). This is the name registered with the bank for compliance and verification.
  - `currency` string, required — - Stablecoin assets: USDC, USDT, PYUSD, RLUSD, USDG, USDP, EURC, MXNB, 1USD(1USD/USDC conversion only, deposit/withdrawal not supported) - Digital assets: BTC - Fiat currencies: USD
  - `country_code` 'AND' | 'ARE' | 'AFG' | 'ATG' | 'AIA' | 'ALB' | 'ARM' | 'AGO' | 'ARG' | 'ASM' | 'AUT' | 'AUS' | 'ABW' | 'AZE' | 'BIH' | 'BRB' | 'BGD' | 'BEL' | 'BFA' | 'BGR' | 'BHR' | 'BDI' | 'BEN' | 'BLM' | 'BMU' | 'BRN' | 'BOL' | 'BRA' | 'BHS' | 'BTN' | 'BWA' | 'BLR' | 'BLZ' | 'CAN' | 'CCK' | 'COD' | 'CAF' | 'COG' | 'CHE' | 'CIV' | 'COK' | 'CHL' | 'CMR' | 'CHN' | 'COL' | 'CRI' | 'CUB' | 'CPV' | 'CUW' | 'CXR' | 'CYP' | 'CZE' | 'DEU' | 'DJI' | 'DNK' | 'DMA' | 'DOM' | 'DZA' | 'ECU' | 'EST' | 'EGY' | 'ESH' | 'ERI' | 'ESP' | 'ETH' | 'FIN' | 'FJI' | 'FLK' | 'FSM' | 'FRO' | 'FRA' | 'GAB' | 'GBR' | 'GRD' | 'GEO' | 'GUF' | 'GGY' | 'GHA' | 'GIB' | 'GRL' | 'GMB' | 'GIN' | 'GLP' | 'GNQ' | 'GRC' | 'SGS' | 'GTM' | 'GUM' | 'GNB' | 'GUY' | 'HKG' | 'HND' | 'HRV' | 'HTI' | 'HUN' | 'IDN' | 'IRL' | 'ISR' | 'IMN' | 'IND' | 'IOT' | 'IRQ' | 'IRN' | 'ISL' | 'ITA' | 'JEY' | 'JAM' | 'JOR' | 'JPN' | 'KEN' | 'KGZ' | 'KHM' | 'KIR' | 'COM' | 'KNA' | 'PRK' | 'KOR' | 'KWT' | 'CYM' | 'KAZ' | 'LAO' | 'LBN' | 'LCA' | 'LIE' | 'LKA' | 'LBR' | 'LSO' | 'LTU' | 'LUX' | 'LVA' | 'LBY' | 'MAR' | 'MCO' | 'MDA' | 'MNE' | 'MAF' | 'MDG' | 'MHL' | 'MKD' | 'MLI' | 'MMR' | 'MNG' | 'MAC' | 'MNP' | 'MTQ' | 'MRT' | 'MSR' | 'MLT' | 'MUS' | 'MDV' | 'MWI' | 'MEX' | 'MYS' | 'MOZ' | 'NAM' | 'NCL' | 'NER' | 'NFK' | 'NGA' | 'NIC' | 'NLD' | 'NOR' | 'NPL' | 'NRU' | 'NIU' | 'NZL' | 'OMN' | 'PAN' | 'PER' | 'PYF' | 'PNG' | 'PHL' | 'PAK' | 'POL' | 'SPM' | 'PCN' | 'PRI' | 'PSE' | 'PRT' | 'PLW' | 'PRY' | 'QAT' | 'REU' | 'ROU' | 'SRB' | 'RUS' | 'RWA' | 'SAU' | 'SLB' | 'SYC' | 'SDN' | 'SWE' | 'SGP' | 'SHN' | 'SVN' | 'SJM' | 'SVK' | 'SLE' | 'SMR' | 'SEN' | 'SOM' | 'SUR' | 'SSD' | 'STP' | 'SLV' | 'SXM' | 'SYR' | 'SWZ' | 'TCA' | 'TCD' | 'TGO' | 'THA' | 'TJK' | 'TKL' | 'TLS' | 'TKM' | 'TUN' | 'TON' | 'TUR' | 'TTO' | 'TUV' | 'TWN' | 'TZA' | 'UKR' | 'UGA' | 'USA' | 'URY' | 'UZB' | 'VAT' | 'VCT' | 'VEN' | 'VGB' | 'VIR' | 'VNM' | 'VUT' | 'WLF' | 'WSM' | 'XKX' | 'YEM' | 'MYT' | 'ZAF' | 'ZMB' | 'ZWE', required — ISO 3166-1 alpha-3 country codes.
  - `account_number` string, required
  - `institution_id` string, required
  - `institution_name` string, required — Full legal name of the bank institution.
  - `institution_clearing_code` string, required — Additional local or regional routing codes required by specific payment networks or countries. Examples: Sort codes (UK), BSB numbers (Australia), transit numbers (Canada).
  - `intermediary_bank` IntermediaryBank — Intermediary bank information for international wire transfers
    - `institution_id` string, required — The intermediary institution identifier (SWIFT code or ABA routing number). For USD international wires: ABA number of the US correspondent bank that serves as intermediary. For non-USD wires: SWIFT code of the intermediary bank (if required by the payment network). Required when the destination bank does not have a direct relationship with the sending institution.
  - `reference_code` string, required — Reference code for wire transfers (optional). A unique identifier that should be included in wire transfer memos to help identify and reconcile incoming payments.
  - `created_at` string, required
  - `modified_at` string, required
  - `recipient` RecipientResponse — Recipient response object
    - `recipient_id` string, required — Counterparty ID. Empty values are still allowed for legacy DB columns where an empty cpid means the record is not tied to a recipient.
    - `customer_id` string, required — Portfolio ID — also exposed as `customer_id` in OpenAPI. Identifies one individual application / portfolio row within an entity.
    - `business_type` string, required — Recipient type: INDIVIDUAL or COMPANY
    - `full_name` string, required — Full name computed from name fields
    - `nickname` string, nullable — User-defined nickname (optional)
    - `email` string, nullable — Email address (optional)
    - `relationship` string, nullable — Relationship to the customer (optional)
    - `status` string, required — Recipient status. Possible values: active, in_review, failed
    - `address` AddressDetails
      - `full_address` string, required
      - `country_code` string, required — ISO 3166-1 alpha-3 three-letter country codes in upper case.
      - `address_line1` string, required — The street number for this address (the whitespaces are trimmed from field).
      - `address_line2` string, nullable — An additional address line for this address (the whitespaces are trimmed from field).
      - `city` string, required — A city for this address (the whitespaces are trimmed from field).
      - `region` string, nullable — The address's region. This is state for U.S., province for Canada (the whitespaces are trimmed from field).
      - `postal_code` string, required — A postal code for this address (the whitespaces are trimmed from field).
    - `created_at` string, date-time, required — Created timestamp
    - `modified_at` string, date-time, required — Last modified timestamp

## Other responses

- `400` — Invalid request - Missing or empty idempotency_key query parameter, or invalid customer_id format
- `401` — Authentication failed - Invalid or missing API key in request header
- `404` — External account not found - No account exists with the specified idempotency key in this customer
- `405` — Method not allowed - The HTTP method used is not supported for this endpoint
- `500` — Internal server error - Unexpected system error occurred during request processing

---

[API](https://skmtc.net/1money/apis/1money-openapi.md) · [All operations](https://skmtc.net/1money/apis/1money-openapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/1money/1money-openapi/revisions/aa2718d28cb5/schema)
