Creates a bank account for your company. The same endpoint creates both kinds of account used by the deposit and withdrawal flows, and subType selects which:
- subType DEPOSIT, using the bankProviderType value AUDD issues you during onboarding, creates an internal virtual account that receives AUD. The provider allocates bsb, accountNumber, iban and reference, so do not send bank details yourself.
- subType WITHDRAWAL with bankProviderType NONE records an external account that AUDD pays out to. You must supply the bank details, and should supply internalBankAccountId to link it to the virtual account holding the funds.
Any other bankProviderType value belongs to a legacy integration and is not available.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
400Invalid input. The body carries a messageKey identifying the rule that failed: bank_account.company_required, bank_account.nickname_required, bank_account.bank_provider_type_required, bank_account.sub_type_required, bank_account.bank_details_required (bankProviderType NONE or subType WITHDRAWAL must carry bsb, or swiftCode with iban or accountNumber), bank_account.bsb_and_swift_mutually_exclusive, bank_account.invalid_bsb_format, bank_account.invalid_account_number, bank_account.invalid_swift_code, bank_account.invalid_iban.
A DEPOSIT virtual account additionally validates customer details, and those failures return an errors array of {field, messageKey, message} objects naming each offending field, with messageKey carrying the human-readable reason rather than a dotted key. Customer details rejected by the provider rather than locally, such as a combined account holder name over 35 characters, return messageKey bank_account.invalid_customer_details with the provider's own message.
401Unauthorized. The bearer token is missing, expired or invalid.
404Not found. The companyId, or an internalBankAccountId that was supplied, does not resolve to a record you can see.
409Bank account already exists. Returned with messageKey bank_account.pay_id_already_exists when the payId is already in use by another account. Note that a duplicate bsb and accountNumber pair is currently accepted on create rather than rejected here.
500Internal server error
