Skip to main content
Yuno Banking Connectivity provides a unified API to create bank accounts, process transfers, and manage entity onboarding across multiple banking providers. A single integration gives you access to providers across the US, UK, Australia, and EU.

Integration flow

Follow these steps to go from entity creation to fund transfers:
  1. Create an entity: Register an individual or business using Create Entity.
  2. Onboard the entity: Submit KYC/KYB documentation through Create Entity Onboarding.
  3. Wait for onboarding approval: Monitor the onboarding status via Get Entity Onboarding Status or listen for webhook events.
  4. Create a bank account: Once onboarding succeeds, open an account with Create Account.
  5. Initiate transfers: Send funds using Initiate Entity Transfer.

Entity types

The national_entity field determines the entity structure:
ValueDescriptionRequired detail
INDIVIDUALA natural personentity_detail.individual with name, DOB, tax info, and identity document
ENTITYA business or organizationentity_detail.entity with business name, type, tax info, and beneficial owners

Onboarding types

TypeBehavior
ONE_STEPSubmits all information, compliance declarations, risk assessment, and documents at once. The provider processes immediately.
PREVIOUSLY_ONBOARDEDGenerates an internal Yuno onboarding ID without contacting the provider. Use when the entity has already been onboarded externally.

Onboarding statuses

StatusDescriptionTerminal
CREATEDOnboarding record createdNo
PENDINGSubmitted to provider, awaiting reviewNo
PENDING_ADDITIONAL_DOCUMENTATIONProvider requires more documentsNo
UNDER_REVIEWProvider is reviewing the submissionNo
SUCCEEDEDOnboarding approved: entity can open accountsYes
FAILEDOnboarding failed due to errorsYes
DECLINEDProvider declined the entityYes
CANCELLEDOnboarding cancelled by merchantYes
EXPIREDOnboarding expired before completionYes

Transfer statuses

StatusDescriptionTerminal
PENDINGTransfer created, awaiting processingNo
PROCESSINGTransfer submitted to the payment networkNo
COMPLETEDFunds successfully deliveredYes
FAILEDTransfer failedYes
CANCELLEDTransfer cancelled before processingYes
REVERSEDCompleted transfer was reversed (e.g., ACH return)Yes
Note: Instant payment rails (RTP, FPS, NPP) skip the PROCESSING state and go directly from PENDING to COMPLETED or FAILED.

Payment rails

Available payment rails depend on the provider’s region:
RegionRailSpeed
USACH_STANDARD1–3 business days
USACH_SAME_DAYSame day
USWIRESame day
USRTPInstant
UKFPSNear-instant
UKCHAPSSame day (high value)
UKBACS3 business days
AustraliaNPPNear-instant
AustraliaPAYTONear-instant
AustraliaBPAY1–2 business days

Account identifiers by region

Responses from Create Account include region-specific banking identifiers:
RegionFields returned
USaccount_number, routing_number
UKaccount_number, sort_code, iban
Australiaaccount_number, bsb
EUiban, swift

Documentation types

When creating or updating an onboarding, the documentation array accepts items with a type discriminator. Populate the matching sub-object for each type:
TypeSub-objectDescription
IDENTITY_DOCUMENTidentity_documentPassport, driver’s license, national ID, or state ID with front/back images
PROOF_OF_ADDRESSproof_of_addressUtility bill, bank statement, lease, mortgage, or tax document
BANK_STATEMENTbank_statementBank statement with period and account details
BUSINESS_DOCUMENTbusiness_documentArticles of incorporation, business license, EIN confirmation, operating agreement, or certificate of good standing
TAX_INFORMATIONtax_informationW9, 1099, tax return, SSN card, ITIN letter, EIN confirmation, or VAT certificate
FINANCIAL_DOCUMENTfinancial_documentBalance sheet, P&L statement, cash flow statement, or financial audit
BIOMETRIC_VERIFICATIONbiometric_verificationFacial recognition, fingerprint, voice, or iris scan with liveness check
EMPLOYMENT_INFORMATIONemployment_informationEmployment status, employer details, occupation, and income
All file uploads use base64 encoding with file_name, content_type, and content fields.

Webhook events

Yuno sends webhook notifications to your configured endpoint for the following events. For general webhook setup, delivery behavior, and retry logic, see Webhooks Overview.

Entity events

  • banking.entity.created: Entity created
  • banking.entity.updated: Entity updated
  • banking.entity.deleted: Entity deleted

Onboarding events

  • banking.onboarding.created: Onboarding created
  • banking.onboarding.pending: Submitted, awaiting review
  • banking.onboarding.pending_additional_documentation: More documents required
  • banking.onboarding.succeeded: Onboarding approved
  • banking.onboarding.failed: Onboarding failed
  • banking.onboarding.declined: Provider declined
  • banking.onboarding.cancelled: Merchant cancelled
  • banking.onboarding.expired: Onboarding expired

Account events

  • banking.account.created: Account created
  • banking.account.updated: Account updated
  • banking.account.activated: Account activated
  • banking.account.closed: Account closed

Transfer events (outgoing)

  • banking.transfer.pending: Transfer pending
  • banking.transfer.processing: Transfer processing
  • banking.transfer.completed: Transfer completed
  • banking.transfer.failed: Transfer failed
  • banking.transfer.cancelled: Transfer cancelled
  • banking.transfer.reversed: Transfer reversed

Transfer events (incoming)

  • banking.transfer.incoming.pending: Incoming transfer pending settlement
  • banking.transfer.incoming.completed: Incoming transfer settled
Incoming transfer notifications are sent to your endpoint at {merchant_base_URL}/v1/banking/transfers. See Webhook Notifications for the payload structure.

Error codes

CodeHTTP StatusDescription
NOT_AUTHENTICATED401Missing or invalid API keys
AuthenticationFail401Authentication failed
BadRequest400Malformed request
VALIDATION_ERROR400Request validation failed
DUPLICATE_ENTITY409Entity with this merchant_entity_id already exists
ENTITY_NOT_FOUND404Entity not found
ONBOARDING_NOT_FOUND404Onboarding not found
ACCOUNT_NOT_FOUND404Account not found
INSUFFICIENT_BALANCE422Insufficient funds for transfer
CURRENCY_MISMATCH422Transfer currency does not match account currency
PROVIDER_ERROR502Error from the banking provider
PROVIDER_TIMEOUT504Provider did not respond in time
InternalError500Internal server error
TooManyRequests429Rate limit exceeded
Error responses follow this format:
{
  "code": "ERROR_CODE",
  "messages": ["Human-readable error message"],
  "http_code": 400
}