Skip to content

Service

This section provides the Service endpoints required to manage and operate the full lifecycle of resources within the ViaBlocks platform.

These endpoints are designed for secure, auditable, and scalable server-to-server integrations, and support core business operations and compliance workflows.

/service/account/verify

Request

Verifies the validity and status of a bank account number.

Purpose

Validates that a bank account is open, active, and in good standing before initiating a payment or transaction.

When to use

  • Before creating a transaction that involves a direct bank deposit
  • To confirm the account details provided by a sender or beneficiary
  • To reduce payment returns caused by invalid or closed accounts

How it works

  1. Validates the routing number structure (ABA checksum)
  2. Verifies the account against the bank verification provider
  3. Returns the verification result with risk assessment and bank details

Authentication

Requires either x-api-key header OR x-client-id + x-secret-key headers.

Notes

  • The routing number must pass ABA checksum validation before the account is verified.
  • Account types accepted: C (Checking), S (Savings).
  • The response includes a risk level (LOW, MEDIUM, HIGH) to help determine next steps.

Common errors

  • 400 Missing required fields or invalid routing number
  • 401 Invalid API key
  • 500 Verification service temporarily unavailable
Headers
x-api-keystring, [ 16 .. 128 ] characters

API key for authentication. Use this OR x-client-id/x-secret-key pair.

Error codes: type=400002, minLength=400003, maxLength=400004

Example:string
x-client-idstring, [ 16 .. 64 ] characters

Partner client identifier. Must be sent together with x-secret-key.

Error codes: type=400002, minLength=400003, maxLength=400004

Example:string
x-secret-keystring, [ 32 .. 128 ] characters

Partner secret key. Must be sent together with x-client-id.

Error codes: type=400002, minLength=400003, maxLength=400004

Example:string
Bodyapplication/jsonrequired
accountNumberstring, [ 4 .. 17 ] charactersrequired

The bank account number to verify.

Error codes: required=400001, type=400002, minLength=400003, maxLength=400004

routingNumberstring, = 9 characters^[0-9]{9}$required

The 9-digit ABA routing number of the financial institution.

Error codes: required=400001, type=400002, minLength=400003, maxLength=400004, pattern=400009

accountTypestring, = 1 charactersrequired

Type of bank account. C = Checking, S = Savings.

Error codes: required=400001, type=400002, minLength=400003, maxLength=400004, allowedValues=400010

Enum:"C""S"
POST
/service/account/verify
curl -i -X POST \
  https://sandbox-viablocks.viamericas.io/service/account/verify \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: string' \
  -H 'x-client-id: string' \
  -H 'x-secret-key: string' \
  -d '{
    "accountNumber": "987654321",
    "routingNumber": 96016930,
    "accountType": "S"
  }'

Responses

Account verified successfully

Bodyapplication/json
statusstring

Response status indicator.

messagestring

Human-readable description of the result.

dataobject

Account verification result data.

Response
{ "status": "success", "message": "Account number verified successfully", "data": { "verificationValue": "Pass", "verificationRisk": "LOW", "verificationDescription": "The suggested action is to accept the bank account and/or customer data for this inquiry.", "bankName": "US BANK NA" } }