> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polygon.technology/llms.txt
> Use this file to discover all available pages before exploring further.

# Get an External Account

> Get an External Account by id.



## OpenAPI

````yaml /api-reference/openapi.yaml get /external-accounts/{externalAccountId}
openapi: 3.0.3
info:
  title: Polygon OMS Public API
  version: v26.05.28-0001
  description: >-
    Unified API for moving money between crypto and fiat. Three ways to move
    money: Transactions (instant, wallet or card funded, including Cash-In for
    in-person cash deposits), Deposit Addresses (reusable crypto deposit
    configurations), and Virtual Accounts (dedicated bank accounts that
    auto-convert fiat to crypto). Standard transactions follow a two-step flow:
    create a Quote (pricing), then create a Transaction (execution). Cash-in
    codes generate a one-time deposit code for in-person cash deposits at retail
    locations.
  contact:
    name: Polygon OMS
    url: https://oms.polygon.technology
servers:
  - url: https://sandbox-api.polygon.technology/v0.10
    description: Sandbox
  - url: https://api.polygon.technology/v0.10
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Auth
    description: Authentication via FrontEgg
  - name: Customers
    description: Customer management and KYC
  - name: Customer
  - name: Wallet
  - name: Quote
  - name: Transaction
  - name: Webhook
  - name: CashIns
  - name: CashLocation
  - name: Sandbox
  - name: VirtualAccount
  - name: Counterparty
  - name: ExternalAccount
  - name: DepositAddress
  - name: Simulation
paths:
  /external-accounts/{externalAccountId}:
    get:
      tags:
        - ExternalAccount
      summary: Get an External Account
      description: Get an External Account by id.
      operationId: getExternalAccount
      parameters:
        - in: path
          name: externalAccountId
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalAccount'
          description: The request has succeeded.
components:
  schemas:
    ExternalAccount:
      description: |-
        A saved payment destination registered for a customer or one of their
        counterparties. Exactly one of the per-type response detail objects is
        populated, selected by `type`. Write-only secrets (full account number,
        full IBAN) are never present on reads - only their last-4 renderings.
      properties:
        bankCanada:
          allOf:
            - $ref: '#/components/schemas/ExternalAccountBankCanadaResponse'
          description: Populated when `type = bankCanada`.
        bankIban:
          allOf:
            - $ref: '#/components/schemas/ExternalAccountBankIbanResponse'
          description: Populated when `type = bankIban`.
        bankUs:
          allOf:
            - $ref: '#/components/schemas/ExternalAccountBankUsResponse'
          description: Populated when `type = bankUs`.
        card:
          allOf:
            - $ref: '#/components/schemas/ExternalAccountCardResponse'
          description: Populated when `type = card`.
        category:
          $ref: '#/components/schemas/ExternalAccountCategory'
        createdAt:
          type: string
          format: date-time
        failureReason:
          allOf:
            - $ref: '#/components/schemas/ExternalAccountFailureReason'
          description: Set when `status = failed`.
        id:
          type: string
        label:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: string
        object:
          enum:
            - externalAccount
          type: string
        owner:
          $ref: '#/components/schemas/ExternalAccountOwner'
        rejectionReason:
          description: Set when status = `rejected` (compliance screening).
          type: string
        resolvedTransactions:
          description: >-
            Transaction ids that this registration submitted for
            sender-attribution

            release. Returned ONLY on the POST create response, and only when

            registering this walletExternal matched held inbounds. Attribution
            is async:

            each entry is submitted to the provider from

            `awaitingAction.awaitingSenderAttribution` and moves to

            `processing.fundsPulled` once settlement confirms, so an immediate
            GET of an

            id may still show `awaitingAction`. Omitted on GETs (the create path
            is the

            only writer).
          items:
            type: string
          type: array
        status:
          $ref: '#/components/schemas/ExternalAccountStatus'
        type:
          $ref: '#/components/schemas/ExternalAccountType'
        updatedAt:
          type: string
          format: date-time
        walletExternal:
          allOf:
            - $ref: '#/components/schemas/ExternalAccountWalletExternalResponse'
          description: Populated when `type = walletExternal`.
      type: object
    ExternalAccountBankCanadaResponse:
      description: >-
        bankCanada response detail. The full account number is never echoed -
        only

        its last four digits.
      properties:
        accountNumberLast4:
          description: Last four digits of the Canadian bank account number.
          type: string
        bankName:
          type: string
        institutionNumber:
          description: Three-digit institution number.
          type: string
        transitNumber:
          description: Five-digit transit number.
          type: string
      required:
        - institutionNumber
        - transitNumber
        - accountNumberLast4
      type: object
    ExternalAccountBankIbanResponse:
      description: |-
        bankIban response detail. The full IBAN is never echoed - only its last
        four characters.
      properties:
        BIC:
          description: SWIFT BIC (8 or 11 chars).
          type: string
        bankAddress:
          type: string
        countryCode:
          description: ISO 3166-1 alpha-2; derived from the IBAN prefix when not supplied.
          type: string
        ibanLast4:
          description: Last four characters of the IBAN.
          type: string
      required:
        - ibanLast4
        - BIC
        - countryCode
      type: object
    ExternalAccountBankUsResponse:
      description: >-
        bankUs response detail. The full account number is never echoed - only
        its

        last four digits.
      properties:
        accountNumberLast4:
          description: Last four digits of the US bank account number.
          type: string
        accountType:
          $ref: '#/components/schemas/BankAccountType'
        bankName:
          type: string
        routingNumber:
          description: Nine-digit ABA routing number (not a secret).
          type: string
      required:
        - accountNumberLast4
        - routingNumber
      type: object
    ExternalAccountCardResponse:
      description: |-
        card response detail. Last-4 + expiry only; PAN/CVV are never stored or
        returned.
      properties:
        cardNumberLast4:
          description: Last four digits of the card PAN.
          type: string
        cardProvider:
          $ref: '#/components/schemas/CardBrand'
        expiryMonth:
          format: int32
          type: integer
        expiryYear:
          format: int32
          type: integer
      type: object
    ExternalAccountCategory:
      description: Coarse classification derived from `type`, stored for query convenience.
      enum:
        - fiatAccount
        - crypto
      type: string
    ExternalAccountFailureReason:
      description: Closed enum stamped on an External Account when `status = failed`.
      enum:
        - ereborRejected
        - cardProviderRejected
        - providerAccountMissing
        - cardLimitReached
        - cardInUse
        - provisioningTimeout
        - systemError
      type: string
    ExternalAccountOwner:
      description: Who owns the External Account.
      discriminator:
        mapping:
          counterparty:
            $ref: '#/components/schemas/OwnerCounterparty'
          customer:
            $ref: '#/components/schemas/OwnerCustomer'
        propertyName: kind
      oneOf:
        - $ref: '#/components/schemas/OwnerCustomer'
        - $ref: '#/components/schemas/OwnerCounterparty'
      type: object
    ExternalAccountStatus:
      description: >-
        Lifecycle of an External Account. `pending → active` on successful
        provisioning; `pending → failed` on upstream rejection or provisioning

        timeout. `rejected` (create-time country screening) and `invalid`
        (derived

        from payout returns) are reserved enum values with no transition logic
        in

        this slice. `deleted` is the soft-delete terminal.
      enum:
        - active
        - pending
        - rejected
        - invalid
        - deleted
        - failed
      type: string
    ExternalAccountType:
      description: >-
        External Account type. Selects which per-type detail object the request
        must carry.
      enum:
        - bankUs
        - bankIban
        - bankCanada
        - card
        - walletExternal
      type: string
    ExternalAccountWalletExternalResponse:
      description: >-
        walletExternal response detail. The blockchain address is public, so it
        is

        echoed as submitted.
      properties:
        blockchainAddress:
          description: The registered blockchain address, as submitted.
          type: string
        custodian:
          allOf:
            - $ref: '#/components/schemas/DestinationCustodian'
          description: DestinationCustodian enum value (reused from VA).
        networkFamily:
          $ref: '#/components/schemas/NetworkFamily'
        otherCustodian:
          description: Set when `custodian = OTHER`.
          type: string
      required:
        - blockchainAddress
        - networkFamily
        - custodian
      type: object
    BankAccountType:
      description: Bank account sub-type for US accounts.
      enum:
        - checking
        - savings
      type: string
    CardBrand:
      description: Card network/brand.
      enum:
        - visa
        - mastercard
        - amex
        - discover
      type: string
    OwnerCounterparty:
      description: Counterparty-owned External Account (an address-book entry).
      properties:
        counterpartyId:
          description: Counterparty (ctp_…) id.
          type: string
        kind:
          enum:
            - counterparty
          type: string
      required:
        - kind
        - counterpartyId
      type: object
    OwnerCustomer:
      description: Customer-owned External Account.
      properties:
        customerId:
          description: Owning customer (cus_… or legacy public id).
          type: string
        kind:
          enum:
            - customer
          type: string
      required:
        - kind
        - customerId
      type: object
    DestinationCustodian:
      enum:
        - ANCHORAGE_SG
        - ANCHORAGE_US
        - AQUANOW_CA
        - B2C2_UK
        - B2C2_US
        - BITGO_SG
        - BITGO_US
        - BITSTAMP_US
        - BVNK_US
        - CIRCLE_FR
        - CIRCLE_US
        - CITIBANK_US
        - COINBASE_US
        - COINSMART_CA
        - COPPER_CH
        - COPPER_UK
        - CUMBERLAND_DRW_LLC_US
        - CUMBERLAND_SG
        - EREBOR_BANK_US
        - FALCONX_US
        - FIDELITY_UK
        - FIDELITY_US
        - FIREBLOCKS_APAC
        - FIREBLOCKS_US
        - GALAXY_KY
        - GEMINI_US
        - KRAKEN_BVI
        - KRAKEN_EU_IE
        - KRAKEN_UK
        - KRAKEN_US
        - NUBANK_BR
        - PAXOS_US
        - RAMP_NETWORK_US
        - ROBINHOOD_US
        - WINTERMUTE_GB
        - SELF_HOSTED
        - OTHER
      type: string
    NetworkFamily:
      description: >-
        Crypto network family for a registered external wallet. A walletExternal
        is

        registered per family (an EVM address is valid across every EVM chain);
        the

        service provisions one counterparty blockchain address per served

        network in the family.
      enum:
        - evm
        - solana
      type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Token from POST /auth/token

````