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.
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
| Header | Description |
|---|---|
Authorization | Bearer {JWT token} |
x-api-key | Your API key |
Content-Type | application/json |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer | Internal customer ID |
Arguments
| Field | M / O | Description |
|---|---|---|
externalId | O | Client-defined external identifier |
purpose | O | Account purpose (e.g., checking) |
nickName | O | Account nickname |
isPrimary | O | Whether this is the primary account (for accounts with isCustomerOwned as true) |
isCustomerOwned | O | Whether the account is customer-owned. Default is false. |
linkedDocument | O | Array of linked documents |
linkedDocument[].purpose | O | Document purpose |
linkedDocument[].document.externalId | O | Document external ID |
linkedDocument[].document.type | O | Document type |
linkedDocument[].document.name | O | Document name |
linkedDocument[].document.base64encodedContent | O | Base64-encoded document content |
configuration | O | Account configuration object |
configuration.sweep | O | Sweep configuration |
configuration.sweep.enable | O | Enable/disable sweep |
configuration.sweep.cadence | O | Sweep cadence (DAILY, WEEKLY, MONTHLY) |
configuration.sweep.destination.externalAccount.id | O | Destination external account ID |
configuration.sweep.destination.externalAccount.externalId | O | Destination external account external ID |
configuration.sweep.minBalance | O | Minimum balance before sweep |
configuration.sweep.method | O | Sweep method (ACH, CHECK) |
configuration.sweep.processingMode | O | Mandatory only for method ACH. Not supported for account type CASH_BUILDER_PLUS. |
configuration.sweep.cadenceDetails.sweepTime | O | Sweep time |
configuration.credit | O | Credit configuration |
configuration.credit.realizationInterval.ach | O | ACH credit realization interval |
configuration.credit.realizationInterval.card | O | Card credit realization interval |
configuration.credit.realizationInterval.check | O | Check credit realization interval |
configuration.credit.quickSettle.ach | O | ACH quick settle |
configuration.credit.quickSettle.check | O | Check quick settle |
configuration.credit.statementDescriptor.ach.companyDescription | O | ACH company description |
configuration.credit.statementDescriptor.ach.companyName | O | ACH company name |
configuration.credit.statementDescriptor.card.descriptor | O | Card descriptor |
configuration.debit | O | Debit configuration |
configuration.debit.statementDescriptor.ach.companyDescription | O | ACH debit company description |
configuration.debit.statementDescriptor.ach.companyName | O | ACH debit company name |
configuration.debit.statementDescriptor.wire.originator | O | Wire originator |
configuration.debit.checkProcessing.defaultRemittanceTemplate.id | O | Default remittance template ID. Optional for account type CHECKING. |
acceptanceMode | O | Acceptance mode (e.g., CLICKWRAP) |
acceptanceDetails | O | Array of acceptance details |
acceptanceDetails[].ipAddress | O | IP address |
acceptanceDetails[].acceptedOn | O | Acceptance date |
acceptanceDetails[].acceptedBy.entity | O | Accepted by entity |
acceptanceDetails[].acceptedBy.id | O | Accepted by ID |
metaData | O | Custom key-value metadata pairs |
tags | O | Array of labels |
comment | O | Comment |
debitCardIssuance | O | Debit card issuance configuration |
debitCardIssuance.cardProgram[].name | O | Card program name |
debitCardIssuance.cardProgram[].id | O | Card program ID |
virtualCardIssuance | O | Virtual card issuance configuration |
virtualCardIssuance.cardProgram[].name | O | Card program name |
virtualCardIssuance.cardProgram[].id | O | Card 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
Transactions can only be performed once the account status is ACTIVE.
This endpoint can only be called once per customer. Attempting to create a second account for the same customer will result in an error.
The processingMode field is mandatory only when the sweep method is ACH and is not supported for account type CASH_BUILDER_PLUS.
If isCustomerOwned is not passed, the default value will be false. The isPrimary flag is only applicable for accounts with isCustomerOwned set to true.