Skip to main content
POST
/
v1
/
company-bank-accounts
Whitelist a company bank account
curl --request POST \
  --url https://api-fundflow.venly.io/v1/company-bank-accounts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Primary EUR Account",
  "bankName": "Deutsche Bank",
  "companyName": "Acme Corporation Ltd",
  "bankCountry": "DE",
  "beneficiaryAddressLine1": "123 Main Street",
  "beneficiaryCity": "Berlin",
  "beneficiaryPostalCode": "10115",
  "beneficiaryCountry": "DE",
  "iban": "DE89370400440532013000",
  "beneficiaryAddressLine2": "Suite 100",
  "bankAccountType": "EUR_SEPA",
  "bic": "COBADEFFXXX",
  "intermediaryBic": "<string>",
  "email": "jsmith@example.com",
  "phoneNumber": "<string>",
  "beneficiaryState": "<string>"
}
'
{
  "success": true,
  "result": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>",
    "bankName": "<string>",
    "companyName": "<string>",
    "email": "<string>",
    "phoneNumber": "<string>",
    "bankCountry": "<string>",
    "beneficiaryAddressLine1": "<string>",
    "beneficiaryAddressLine2": "<string>",
    "beneficiaryCity": "<string>",
    "beneficiaryState": "<string>",
    "beneficiaryPostalCode": "<string>",
    "beneficiaryCountry": "<string>",
    "verifiedAt": "2023-11-07T05:31:56Z",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "version": 123,
    "iban": "<string>",
    "bic": "<string>",
    "intermediaryBic": "<string>"
  }
}
Registers a new company bank account in PENDING status. Provide the fields for your account type — EUR_SEPA, USD_WIRE, USD_ACH, USD_SWIFT, GBP_FPS, GBP_CHAPS, or OTHER_SWIFT. The account must be in your company’s legal name. Concept guide: Account management
Bank accounts are reviewed manually and may take 1–2 business days to reach VERIFIED. Only verified accounts can be used in ramp requests.

Authorizations

Authorization
string
header
required

OAuth2 authentication via Venly Identity Platform

Body

application/json

Request to create a European SEPA bank account with IBAN and BIC

name
string
required

Display name for the bank account

Maximum string length: 255
Example:

"Primary EUR Account"

bankName
string
required

Name of the bank

Maximum string length: 255
Example:

"Deutsche Bank"

companyName
string
required

Legal name of the company (account holder)

Maximum string length: 255
Example:

"Acme Corporation Ltd"

bankCountry
string
required

ISO 3166-1 alpha-2 country code of the bank

Example:

"DE"

beneficiaryAddressLine1
string
required

First line of beneficiary address

Maximum string length: 255
Example:

"123 Main Street"

beneficiaryCity
string
required

Beneficiary city

Maximum string length: 100
Example:

"Berlin"

beneficiaryPostalCode
string
required

Beneficiary postal/ZIP code

Maximum string length: 20
Example:

"10115"

beneficiaryCountry
string
required

ISO 3166-1 alpha-2 country code of the beneficiary

Example:

"DE"

supportedRampType
enum<string>
required

Types of ramp operations this account supports:

  • ON_RAMP: Can receive fiat (for deposit)
  • OFF_RAMP: Can send fiat (for withdrawal)
  • ON_AND_OFF_RAMP: Supports both operations
Available options:
ON_RAMP,
OFF_RAMP,
ON_AND_OFF_RAMP
iban
string
required

International Bank Account Number

Required string length: 15 - 34
Pattern: ^[A-Z]{2}\d{2}[A-Z0-9]{1,30}$
Example:

"DE89370400440532013000"

beneficiaryAddressLine2
string

Second line of beneficiary address (optional)

Maximum string length: 255
Example:

"Suite 100"

bankAccountType
enum<string>
default:EUR_SEPA

Type of bank account/payment network

Available options:
EUR_SEPA
bic
string

Bank Identifier Code (SWIFT code)

Required string length: 8 - 11
Pattern: ^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$
Example:

"COBADEFFXXX"

intermediaryBic
string

Intermediary bank BIC (if applicable)

Required string length: 8 - 11
Pattern: ^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$
email
string<email>

Contact email for account holder

Maximum string length: 255
phoneNumber
string

Contact phone number

Maximum string length: 50
Pattern: ^\+?\d{7,15}$
beneficiaryState
string

Beneficiary state/province (if applicable)

Maximum string length: 100

Response

Company bank account successfully created

success
boolean
default:true
result
object

Base company bank account schema