An account is a bank account managed by Helix belonging to a customer. To correlate a specific account in Helix to a specific account item in your system, use the tag property. An account is in contrast to an external account which is a customer bank account managed by a different financial institution.


account Object

Property

Data Type (length)

Description

accessTypeCode**

enum

The type of access the customerId has to the account. Possible values:

  • FULL: customer can do anything with the account; read, withdraw funds, deposit funds
  • RDONLY: customer can read data associated with the account, but not edit the account itself, withdraw funds, or deposit funds
  • NONE: customer can do nothing with the account.

accountBalance

decimal

Total balance of account, including funds that have holds placed on them. Represents all settled transactions on the account to date. This is the balance used for interest accrual calculations, if this is an interest-bearing account.

accountId

integer

Helix-assigned unique ID for the account

accountMinimumBalance

decimal

Lowest dollar amount the account can be overdrawn to.
Example: -100.00
Note: Use of this feature must be enabled for your program by Q2 at the product level.

accountNumber

string

Account number of the bank account. Generated during account creation.
Note: This field must be enabled by Q2

accountNumberMasked

string

Masked version of accountNumber

availableBalance

decimal

Balance available for immediate withdrawal. Settling a transaction for a DDA account will typically credit the availableBalance immediately. However, savings or FBO accounts may have a "deposit hold time" or a "new customer hold time", meaning there could be a length of time between when the transaction is settled and the corresponding funds are made available for withdrawal.

balanceLastModifiedDate

datetime

Most recent date any of the following were altered in any way:

  • accountBalance
  • availableBalance
  • pendingBalance

category

string (50)

Freeform text for grouping accounts. Useful for grouping and trending in reports.

closedDate

datetime

Date the account was closed

createdDate

datetime

Date the account was created

customField1

string (50)

A property for holding client-defined data. There is no business logic in Helix for a custom field.

customField2

string (50)

A property for holding client-defined data. There is no business logic in Helix for a custom field.

customField3

string (50)

A property for holding client-defined data. There is no business logic in Helix for a custom field.

customField4

string (50)

A property for holding client-defined data. There is no business logic in Helix for a custom field.

customField5

string (50)

A property for holding client-defined data. There is no business logic in Helix for a custom field.

customerId

integer

Helix-assigned unique ID for of the customer who owns the account.

customerPriority**

integer

The priority of ownership the customer has for the account. Primary owner always has a customerPriority of 1. Joint owners have a customerPriority of 2 or higher. This value is unique and sequential amongst all active owners for a given account. Lower numbers indicate higher priority of ownership. Upon death of the primary owner, the joint account ownership will shift to the account owner with a customerPriority of 2, if any.

globalAccountAccessEnabled

boolean

true for an account which can pull or push funds from all external accounts in your program. This property is read-only, assignable only by Helix or a bank user.

isCloseable

boolean

true if this is the account can be closed via /account/close. This property is assignable only at account creation time and cannot be updated.

isJointAccount**

boolean

true if totalCustomers > 1, false otherwise

isLocked

boolean

true if this account is locked. Read-only. An account can be locked via /account/lock, Admin Console or an automated process. An account can be unlocked via /account/unlock or Admin Console

isPrimary

boolean

true if this is the primary account for this customer. Read-only. Automatically set at account creation time.

isPrimaryCustomer**

boolean

true if customerId matches primaryCustomerId

lastModifiedDate

datetime

Date when the account was last altered in any way (excluding the balance properties -- see balanceLastModifiedDate)

legalName1

string (100)

The first legal name used to identify the account.

legalName2

string (100)

A secondary legal name used to identify the account.

lockReasonTypeCode

enum

The reason the lock was applied to the account. Possible values:

  • UNK: Unknown
  • FRD: Fraud investigation
  • ADM: Administrative
  • TMP: Temporary
  • FRZ: Freeze
  • SUS: Suspected fraud
  • CO: Credits only

lockTypeCode

enum

The type of lock. Possible values:

  • UNL: Unlocked
  • CST: Customer Locked (locked via the API. Or, if a user of the Admin Console specifies the lock can be removed via the API)
  • SYS: System Locked (locked via the API, Admin Console or an automated process. Cannot be unlocked via the API)

name

string (50)

A caller-specified, user-friendly name for this account. Must be unique within a given customer .

pendingBalance

decimal

Balance of pending deposit transactions. When a pending deposit transaction settles, it will debit this balance. Deposit transactions which settle immediately will never affect this balance.

primaryCustomerId**

integer

Denotes the customer considered the primary owner for the account. By default, this is the customerId passed when /account/create is called.

productId

integer

The Helix-assigned unique ID of the product which this account is associated with. Configured products can be found on the products
property of the program object

recurringContributionAmount*

decimal

The amount to contribute on a recurring basis.

recurringContributionEndDate*

datetime

The earliest date on which future recurring contributions should end. Must be greater than the recurringContributionStartDate . If recurringContributionEndDate is in the past, this effectively disables recurring contributions. i.e. same behavior as though recurringContributionType=None.

recurringContributionFromExternalAccountId*

integer

The externalAccountId from which funds will be transferred on a recurring basis. Refers to an external account object.

recurringContributionNextDate*

datetime

The date the next recurring contribution is scheduled to occur. This property is read-only, but setting recurringContributionStartDate causes this date to change.

recurringContributionStartDate*

datetime

The earliest date on which future recurring contributions should start. Note if the day specified is less than or equal to "tomorrow", the first recurring contribution will occur the following period. So if today is the 8th and a value between 1 and 9 is specified, the first recurring contribution will happen the following period. If a value between 10 and 28 is specified, the first recurring contribution will happen during the current period. The value for the day portion of the date must be between 1 and 28.

recurringContributionType*

enum

The frequency with which recurring contributions occur. Possible values:

  • Monthly
  • BiWeekly
  • None (default)

regDWithdrawalCount

integer

Count of withdrawals on a Savings product with RegD Fee enabled for current month. Increments per withdrawal transaction and if needed, based on product configuration, will create a single Fee transaction at month-end.

routingNumber

string

Routing Transit Number (RTN) is a nine-digit bank code used to identify the financial institution where bank account is held. Read-only.
NOTE: This field must be enabled by Q2

routingNumberMasked

string

Masked version of routingNumber

sourceLinks

array

Reserved for future use

status

enum

Possible values:

  • PendingOpen
  • Open
  • PendingClosed
  • Closed
    Note: Once an account is closed, it cannot be re-opened.

subCategory

string (50)

Freeform text for grouping accounts. Useful for grouping and trending in reports.

tag

string (50)

A caller-specified, unique identifier for this account. Must be unique within your program.

targetAmount

decimal

The amount the customer wants the availableAmount to reach.

targetDate

datetime

The date the customer would like the targetAmount to be reached.

targetLinks

array

Reserved for future use

targetMetDate

datetime

The first date the availableAmount reached or exceeded the targetAmount. Since a customer may withdraw funds then deposit more funds without closing an account, it is possible to surpass the targetAmount multiple times. However, the targetMetDate is updated only the first time.

targetMetPercent

decimal

The percent of progress towards reaching the targetAmount. Essentially availableBalance / targetAmount. Rounded to 2 decimals of precision.

totalCustomers**

integer

The total number of customers with some type of access to the account.

type

enum

The type of the product associated with the account via productId. Possible values:

  • Checking
  • Savings (RegD restrictions apply)
  • Prepaid
  • ForBenefitOf (A more restrictive dda account)

*Property relates to Recurring Contribution functionality. This is an optional feature that must be enabled by Q2 and requires an additional subscription fee.

**Property relates to joint account functionality. Use of joint account functionality requires approval from your bank partner.