---
title: "Create an external account"
method: POST
path: "/v2/users/{userId}/external-accounts"
tags: ["External Account"]
---

# Create an external account

`POST /v2/users/{userId}/external-accounts`

## Request

- Base URL: `https://production.hifibridge.com`
- URL: `https://production.hifibridge.com/v2/users/{userId}/external-accounts`
- Auth: HTTP bearer

Create a new external bank account for offramp transfers. External accounts represent beneficiary bank accounts where funds can be sent.

The account will be validated and registered with the appropriate payment provider based on the specified rail and destination country/currency.

## Path parameters

- `userId` string, required

## Request body

- union
  - CreateExternalAccountACH
    - `requestId` string, uuid, required: Unique request ID for deduplication
    - `direction` 'payout', required: Direction of transfers (currently only payout supported)
    - `country` string, required: ISO 3166-1 alpha-3 country code (must be USA for ACH)
    - `currency` string, required: Currency code (must be USD for ACH)
    - `rail` 'ach', required: Payment rail
    - `accountHolder` ExternalAccountHolder, required: Account holder information
      - `type` 'individual' | 'business', required: Type of account holder
      - `name` string, required: Full name of account holder
      - `email` string, email: Email address
      - `phone` string: Phone number in E.164 format
      - `address` ExternalAccountAddress: Address information
        - `addressLine1` string, required: Primary address line
        - `addressLine2` string: Secondary address line (apartment, suite, etc.)
        - `city` string, required: City name
        - `stateProvinceRegion` string, required: State, province, or region
        - `postalCode` string, required: Postal or ZIP code
        - `country` string, required: ISO 3166-1 alpha-3 country code
    - `accountDetails` ExternalAccountBankDetailsACH, required: Bank details for ACH transfers
      - `accountNumber` string, required: Bank account number
      - `routingNumber` string, required: ABA routing number (9 digits)
      - `accountType` 'checking' | 'savings': Type of bank account
      - `bankName` string: Name of the bank
  - CreateExternalAccountWire
    - `requestId` string, uuid, required: Unique request ID for deduplication
    - `direction` 'payout', required: Direction of transfers (currently only payout supported)
    - `country` string, required: ISO 3166-1 alpha-3 country code (must be USA for Wire)
    - `currency` string, required: Currency code (must be USD for Wire)
    - `rail` 'wire', required
    - `accountHolder` ExternalAccountHolder, required: Account holder information
      - `type` 'individual' | 'business', required: Type of account holder
      - `name` string, required: Full name of account holder
      - `email` string, email: Email address
      - `phone` string: Phone number in E.164 format
      - `address` ExternalAccountAddress: Address information
        - `addressLine1` string, required: Primary address line
        - `addressLine2` string: Secondary address line (apartment, suite, etc.)
        - `city` string, required: City name
        - `stateProvinceRegion` string, required: State, province, or region
        - `postalCode` string, required: Postal or ZIP code
        - `country` string, required: ISO 3166-1 alpha-3 country code
    - `accountDetails` ExternalAccountBankDetailsWire, required: Bank details for domestic wire transfers
      - `accountNumber` string, required: Bank account number
      - `routingNumber` string, required: ABA routing number (9 digits)
      - `accountType` 'checking' | 'savings': Type of bank account
      - `bankName` string: Name of the bank
  - CreateExternalAccountSWIFT
    - `requestId` string, uuid, required: Unique request ID for deduplication
    - `direction` 'payout', required: Direction of transfers (currently only payout supported)
    - `country` string, required: ISO 3166-1 alpha-3 country code
    - `currency` string, required: Currency code
    - `rail` 'swift', required
    - `accountHolder` ExternalAccountHolder, required: Account holder information
      - `type` 'individual' | 'business', required: Type of account holder
      - `name` string, required: Full name of account holder
      - `email` string, email: Email address
      - `phone` string: Phone number in E.164 format
      - `address` ExternalAccountAddress: Address information
        - `addressLine1` string, required: Primary address line
        - `addressLine2` string: Secondary address line (apartment, suite, etc.)
        - `city` string, required: City name
        - `stateProvinceRegion` string, required: State, province, or region
        - `postalCode` string, required: Postal or ZIP code
        - `country` string, required: ISO 3166-1 alpha-3 country code
    - `accountDetails` ExternalAccountBankDetailsSWIFT, required: Bank details for international SWIFT transfers
      - `iban` string, required: International Bank Account Number
      - `swiftCode` string, required: SWIFT/BIC code (8 or 11 characters)
      - `bankName` string, required: Name of the bank
  - CreateExternalAccountPIX
    - `requestId` string, uuid, required: Unique request ID for deduplication
    - `direction` 'payout', required: Direction of transfers (currently only payout supported)
    - `country` string, required: Must be BRA for PIX
    - `currency` string, required: Must be BRL for PIX
    - `rail` 'pix', required
    - `accountHolder` ExternalAccountHolder, required: Account holder information
      - `type` 'individual' | 'business', required: Type of account holder
      - `name` string, required: Full name of account holder
      - `email` string, email: Email address
      - `phone` string: Phone number in E.164 format
      - `address` ExternalAccountAddress: Address information
        - `addressLine1` string, required: Primary address line
        - `addressLine2` string: Secondary address line (apartment, suite, etc.)
        - `city` string, required: City name
        - `stateProvinceRegion` string, required: State, province, or region
        - `postalCode` string, required: Postal or ZIP code
        - `country` string, required: ISO 3166-1 alpha-3 country code
    - `accountDetails` ExternalAccountBankDetailsPIX, required: Bank details for Brazilian PIX transfers
      - `pixKey` string, required: PIX key (CPF, CNPJ, phone, email, or EVP)
      - `bankName` string: Name of the bank
  - CreateExternalAccountSPEI
    - `requestId` string, uuid, required: Unique request ID for deduplication
    - `direction` 'payout', required: Direction of transfers (currently only payout supported)
    - `country` string, required: Must be MEX for SPEI
    - `currency` string, required: Must be MXN for SPEI
    - `rail` 'spei', required
    - `accountHolder` ExternalAccountHolder, required: Account holder information
      - `type` 'individual' | 'business', required: Type of account holder
      - `name` string, required: Full name of account holder
      - `email` string, email: Email address
      - `phone` string: Phone number in E.164 format
      - `address` ExternalAccountAddress: Address information
        - `addressLine1` string, required: Primary address line
        - `addressLine2` string: Secondary address line (apartment, suite, etc.)
        - `city` string, required: City name
        - `stateProvinceRegion` string, required: State, province, or region
        - `postalCode` string, required: Postal or ZIP code
        - `country` string, required: ISO 3166-1 alpha-3 country code
    - `accountDetails` ExternalAccountBankDetailsSPEI, required: Bank details for Mexican SPEI transfers
      - `speiClabe` string, required: CLABE number (18 digits)
      - `bankName` string: Name of the bank
  - CreateExternalAccountMoMo
    - `requestId` string, uuid, required: Unique request ID for deduplication
    - `direction` 'payout', required: Direction of transfers (currently only payout supported)
    - `country` string, required: ISO 3166-1 alpha-3 country code (e.g., KEN, GHA)
    - `currency` string, required: Local currency code (e.g., KES, GHS)
    - `rail` 'momo', required
    - `accountHolder` ExternalAccountHolder, required: Account holder information
      - `type` 'individual' | 'business', required: Type of account holder
      - `name` string, required: Full name of account holder
      - `email` string, email: Email address
      - `phone` string: Phone number in E.164 format
      - `address` ExternalAccountAddress: Address information
        - `addressLine1` string, required: Primary address line
        - `addressLine2` string: Secondary address line (apartment, suite, etc.)
        - `city` string, required: City name
        - `stateProvinceRegion` string, required: State, province, or region
        - `postalCode` string, required: Postal or ZIP code
        - `country` string, required: ISO 3166-1 alpha-3 country code
    - `accountDetails` ExternalAccountBankDetailsMoMo, required: Bank details for Mobile Money transfers
      - `accountNumber` string, required: Mobile phone number in E.164 format
      - `bankName` string, required: Mobile money provider name

## Response `200`

External account created successfully

- CreateExternalAccountSuccessObject
  - `status` string
  - `message` string
  - `id` string, uuid

## Other responses

- `400`: Bad request - validation error
- `401`: Unauthorized
- `500`: Internal Server Error

## Changes

- **2026-11-03** `319fa6bd5bc6`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hifi/apis/hifi-api/changes/v2/users/:userId/external-accounts/post.md)

---

[API](https://skmtc.dev/hifi/apis/hifi-api.md) - [All operations](https://skmtc.dev/hifi/apis/hifi-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hifi/apis/hifi-api/revisions/319fa6bd5bc6?raw)
