Skip to main content

Create Account


Overview

You can create an account for a customer. This endpoint can only be called once per customer — each customer is limited to a single account.

info

You will be able to perform transactions once the account is ACTIVE.


Resource Access

Production (api.ahrvo.network)

POST https://api.ahrvo.network/banking/us2/v1/customer/id/{id}/account

Staging (gateway.ahrvo.network)

POST https://gateway.ahrvo.network/banking/us2/v1/customer/id/{id}/account

Authentication

HeaderDescription
AuthorizationBearer {JWT token}
x-api-keyYour API key
Content-Typeapplication/json

Path Parameters

ParameterTypeDescription
idintegerInternal customer ID

Arguments

FieldM / ODescription
externalIdOClient-defined external identifier
purposeOAccount purpose (e.g., checking)
nickNameOAccount nickname
isPrimaryOWhether this is the primary account (for accounts with isCustomerOwned as true)
isCustomerOwnedOWhether the account is customer-owned. Default is false.
linkedDocumentOArray of linked documents
linkedDocument[].purposeODocument purpose
linkedDocument[].document.externalIdODocument external ID
linkedDocument[].document.typeODocument type
linkedDocument[].document.nameODocument name
linkedDocument[].document.base64encodedContentOBase64-encoded document content
configurationOAccount configuration object
configuration.sweepOSweep configuration
configuration.sweep.enableOEnable/disable sweep
configuration.sweep.cadenceOSweep cadence (DAILY, WEEKLY, MONTHLY)
configuration.sweep.destination.externalAccount.idODestination external account ID
configuration.sweep.destination.externalAccount.externalIdODestination external account external ID
configuration.sweep.minBalanceOMinimum balance before sweep
configuration.sweep.methodOSweep method (ACH, CHECK)
configuration.sweep.processingModeOMandatory only for method ACH. Not supported for account type CASH_BUILDER_PLUS.
configuration.sweep.cadenceDetails.sweepTimeOSweep time
configuration.creditOCredit configuration
configuration.credit.realizationInterval.achOACH credit realization interval
configuration.credit.realizationInterval.cardOCard credit realization interval
configuration.credit.realizationInterval.checkOCheck credit realization interval
configuration.credit.quickSettle.achOACH quick settle
configuration.credit.quickSettle.checkOCheck quick settle
configuration.credit.statementDescriptor.ach.companyDescriptionOACH company description
configuration.credit.statementDescriptor.ach.companyNameOACH company name
configuration.credit.statementDescriptor.card.descriptorOCard descriptor
configuration.debitODebit configuration
configuration.debit.statementDescriptor.ach.companyDescriptionOACH debit company description
configuration.debit.statementDescriptor.ach.companyNameOACH debit company name
configuration.debit.statementDescriptor.wire.originatorOWire originator
configuration.debit.checkProcessing.defaultRemittanceTemplate.idODefault remittance template ID. Optional for account type CHECKING.
acceptanceModeOAcceptance mode (e.g., CLICKWRAP)
acceptanceDetailsOArray of acceptance details
acceptanceDetails[].ipAddressOIP address
acceptanceDetails[].acceptedOnOAcceptance date
acceptanceDetails[].acceptedBy.entityOAccepted by entity
acceptanceDetails[].acceptedBy.idOAccepted by ID
metaDataOCustom key-value metadata pairs
tagsOArray of labels
commentOComment
debitCardIssuanceODebit card issuance configuration
debitCardIssuance.cardProgram[].nameOCard program name
debitCardIssuance.cardProgram[].idOCard program ID
virtualCardIssuanceOVirtual card issuance configuration
virtualCardIssuance.cardProgram[].nameOCard program name
virtualCardIssuance.cardProgram[].idOCard program ID

Example Requests

Minimal — isCustomerOwned false

POST /banking/us2/v1/customer/id/4052981/account HTTP/1.1
Host: api.ahrvo.network
Authorization: Bearer {placeholder("JWT token")}
x-api-key: {placeholder("your-api-key")}
Content-Type: application/json
{
"purpose": "checking"
}

Minimal — isCustomerOwned true

{
"purpose": "checking",
"isCustomerOwned": true
}

Full — isCustomerOwned true

{
"externalId": "E22343423456786544",
"isCustomerOwned": true,
"purpose": "FEE",
"configuration": {
"sweep": {
"enable": true,
"cadence": "DAILY",
"minBalance": "1.00",
"destination": {
"externalAccount": {
"id": "4006512"
}
},
"processingMode": "SAME_DAY",
"method": "ACH",
"cadenceDetails": {
"sweepTime": "09:15"
}
},
"credit": {
"realizationInterval": {
"ach": 1,
"card": 1,
"check": 1
},
"statementDescriptor": {
"ach": {
"companyName": "CROSSROADS",
"companyDescription": "2345432"
},
"card": {
"descriptor": "234543"
}
},
"quickSettle": {
"ach": true,
"check": true
}
},
"debit": {
"statementDescriptor": {
"ach": {
"companyName": "ROADY",
"companyDescription": "DAVE"
},
"wire": {
"originator": "Marvel"
}
},
"checkProcessing": {
"defaultRemittanceTemplate": {
"id": 110
}
}
},
"debitCardIssuance": {
"cardProgram": [
{
"name": "PM CORP STD PB PL CARD2MBycd",
"id": "3"
}
]
},
"virtualCardIssuance": {
"cardProgram": [
{
"name": "PM CORP VIRTUAL CARD2MBycd",
"id": "4"
}
]
}
},
"acceptanceMode": "CLICKWRAP",
"acceptanceDetails": [
{
"ipAddress": "10.20.30.40",
"acceptedOn": "05/31/2024",
"acceptedBy": {
"entity": "CUSTOMER",
"id": "4020568"
}
}
],
"linkedDocument": [
{
"purpose": "AUTHORIZATION",
"document": {
"base64encodedContent": "Q3Jvc3Nyb2FkcyBGaW5wgVG==",
"type": "SPAA",
"name": "spaa-blank.pdf"
}
}
]
}

Cash Builder Plus Account

{
"externalId": "E22343423456785",
"isCustomerOwned": true,
"type": "CASH_BUILDER_PLUS",
"linkedDocument": [
{
"purpose": "AUTHORIZATION",
"document": {
"base64encodedContent": "txt",
"type": "PASSPORT_CASH_BUILDER_PLUS_ACCOUNT_AGREEMENT",
"name": "spaa-blank.pdf"
}
}
]
}

Example Response

HTTP Status: 201 Created
Location: v1/customer/4052981/account/id/4000004

Important Notes

Account Status

Transactions can only be performed once the account status is ACTIVE.

One Account Per Customer

This endpoint can only be called once per customer. Attempting to create a second account for the same customer will result in an error.

Sweep Processing Mode

The processingMode field is mandatory only when the sweep method is ACH and is not supported for account type CASH_BUILDER_PLUS.

Customer Ownership

If isCustomerOwned is not passed, the default value will be false. The isPrimary flag is only applicable for accounts with isCustomerOwned set to true.


Interactive API Explorer