Bank Account Snapshots

Bank Account Snapshots

Bank account snapshots can be sent in payloads to either /accounts or /evaluations. For payloads sent to /evaluations, Bank account snapshots are created for the source bank account.

The timestamp field

timestamp is used to update or create a snapshot. The supplied timestamp is used to search for a bank account.

  • If a bank account **is not found,** then we must create one
  • If a bank account is found, then we update the bank account snapshot

Note: This means two transactions with different transaction_id could update the same Bank Account Snapshot, i.e. if the two transactions have the same source bank account and the same timestamp in the account_snapshot payload, then it will update the same record.

See below for an example payload to /evaluations with an account snapshot:

{
  "transaction_id": "newNewTrans04",
  "amount": 220,
  "transaction_date": "2021-07-28 18:26:53",
  "currency": "USD",
  "source": {
    "external_account_id": "rickPerson01"
  },
  "destination": {
    "account_number": "372181910891",
    "account_class": "deposit",
    "account_type": "merchant account",
    "account_name": "AMAZON.COM AMZN.COM/BI",
    "merchant_category_code": "5942",
    "meta": {
      "address_city": "SEATTLE",
      "address_state": "WA",
      "address_postal_code": "98104",
      "address_country_code": "US"
    }
  },
  "transaction_type":"ACH",
  "account_snapshot": {
    "timestamp": "2021-05-20 18:26:53+00",
    "meta": {
      "arbitrary_field": "arbitrary_value"
    },
    "details": {
      "status_description": "exampleStatus",
      "loan_credit_limit": 1000000000,
      "interest_rate": 1.25,
      "original_interest_rate": 1.25,
      "original_amount": 30000000,
      "ach_push_limit": 5000,
      "ach_pull_limit": 5000,
      "name_first": "Frank",
      "name_last": "Abagnale",
      "email_address": "[email protected]",
      "phone_number": "+15555555555",
      "mailing_address_line1": "10 Test Dr.",
      "mailing_address_line2": "Apt. 3",
      "mailing_address_city": "New York",
      "mailing_address_state": "New York",
      "mailing_address_postal_code": "10001",
      "mailing_address_country_code": "USA",
      "primary_address_line1": "10 Test Dr.",
      "primary_address_line2": "Apt. 3",
      "primary_address_city": "New York",
      "primary_address_state": "New York",
      "primary_address_postal_code": "10001",
      "primary_address_country_code": "USA",
    },
    "account_view": {
      "account_balance": 5634128000,
      "date_last_activity": "2021-05-20",
      "is_good_standing": true,
      "past_due_days": 0
    }
  }
}

Bank account Snapshot Schema:

Note: As of right now there are no maximum lengths on these fields, and they do not accept either null or '' values

ParameterTypeUsed in Account History
timestamp*ISO timestamp stringAH
metaJSON
details.status_descriptionString
details.loan_credit_limitIntegerAH, MLA
details.interest_rateNumber
details.original_interest_rateNumber
details.original_amountInteger
details.ach_push_limitInteger
details.ach_pull_limitInteger
details.name_firstStringAH, MLA
details.name_lastStringAH, MLA
details.email_addressStringMLA
details.phone_numberStringMLA
details.mailing_address_line1StringAH, MLA
details.mailing_address_line2StringAH, MLA
details.mailing_address_cityStringAH, MLA
details.mailing_address_stateStringAH, MLA
details.mailing_address_postal_codeStringAH, MLA
details.mailing_address_country_codeVarchar(3)AH, MLA
details.primary_address_line1String
details.primary_address_line2String
details.primary_address_cityString
details.primary_address_stateString
details.primary_address_postal_codeString
details.primary_address_country_codeVarchar(3)
account_view.account_balanceIntegerAH, MLA
account_view.date_last_activityISO timestamp string
account_view.is_good_standingBooleanAH
account_view.past_due_daysInteger