Deposits

Get customer deposit details

Get bank deposit details for a KYC-verified customer.

GET
/api/v2/customers/{customerId}/deposit

Returns bank deposit details for a KYC-verified customer. The customer must have completed KYC verification to access deposit details. For USD SWIFT, the shared reference account includes its ClearBank IBAN; a dedicated iban with depositModel: "virtual_account" is returned when the customer holds an active USD virtual account. EUR/SEPA deposit details may reference a different receiving bank depending on your organization's banking configuration. For AUD-only customers, use currency=aud (or paymentRail=AU_BANK_TRANSFER); the details are returned once the customer's AUD account is ready, and 409 is returned until then, after the account is closed, or when it cannot be set up because AUD functionality is not enabled for your organization.

Authorization

bearerAuth
AuthorizationBearer <token>

Organization API key obtained on Settings > API Keys page in Compose UI.

In: header

Path Parameters

customerId*string

Unique identifier of the customer

Query Parameters

paymentRail?string

Optional payment rail for deposit instructions. When omitted, currency=eur maps to SEPA and currency=usd maps to FEDWIRE. Use SWIFT for USD SWIFT deposits. At least one of paymentRail or currency is required. Case-insensitive. Use AU_BANK_TRANSFER for AUD-only customers.

Value in"SEPA" | "FEDWIRE" | "SWIFT" | "AU_BANK_TRANSFER"
currency?string

Currency for the deposit rail. Supported values: EUR (SEPA) and USD (FEDWIRE). Use paymentRail=SWIFT for USD SWIFT deposits. Case-insensitive. When both are given they must match (EUR with SEPA; USD with FEDWIRE or SWIFT). Use aud for AUD-only customers; AUD-only customers support only aud.

Value in"eur" | "usd" | "aud"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET 'https://compose.finance/api/v2/customers/{customerId}/deposit?currency=eur' \  -H 'Authorization: Bearer YOUR_API_KEY'

{
  "customerId": "550e8400-e29b-41d4-a716-446655440001",
  "currency": "eur",
  "paymentRail": "SEPA",
  "reference": "A7B3C9D2E1",
  "accountName": "AAA Corp.",
  "accountAddress": "123 Example St., 00-001 Warsaw, Poland",
  "iban": "DK0012345678123456",
  "bic": "DUMMYBICXXX",
  "bankName": "Dummy Bank",
  "bankAddress": "1 Placeholder Rd, Test City, 12345, Country",
  "bankCountry": "Denmark",
  "depositInstructions": "To deposit funds, simply transfer money from your bank using your reference and the bank details below.",
  "warning": "Include your unique reference in the transfer details",
  "thirdPartyEnabled": false,
  "depositModel": "reference"
}

{
  "error": "Missing required query parameter: paymentRail"
}

{
  "error": "Unauthorized - Invalid or missing API key or session"
}

{
  "error": "Customers feature is not enabled for your organization"
}

{
  "error": "Customer not found"
}

{
  "error": "AUD deposit details are still being set up for this customer. Try again in a few minutes."
}

{
  "error": "Rate limit exceeded. Please try again later."
}

{
  "error": "Internal server error"
}

{
  "error": "AUD deposit data is temporarily unavailable. Please try again shortly."
}