BankAccountDetails

JSON representation
{
  "accountBalanceSummary": {
    object (AccountBalanceSummary)
  },
  "accountBlocks": [
    {
      object (AccountBlock)
    }
  ],
  "sourceOfWealthStatus": {
    object (SourceOfWealthStatus)
  },
  "accountStatus": {
    object (AccountStatus)
  },
  "mobileCheckDepositLimit": {
    object (MonetaryLimit)
  },
  "debitCardTopupLimit": {
    object (MonetaryLimit)
  },
  "debitCardFundOutLimit": {
    object (MonetaryLimit)
  },
  "achPullLimit": {
    object (MonetaryLimit)
  },
  "achPushLimit": {
    object (MonetaryLimit)
  },
  "cashWithdrawalLimit": {
    object (MonetaryLimit)
  },
  "atmWithdrawalLimit": {
    object (MonetaryLimit)
  },
  "accountBalances": {
    object (AccountBalances)
  },

  // Union field apr can be only one of the following:
  "annualPercentageRateInMicros": string,
  "accountIsNotInterestBearing": {
    object (Empty)
  }
  // End of list of possible types for union field apr.

  // Union field apy can be only one of the following:
  "annualPercentageYieldInMicros": string,
  "accountHasNoApy": {
    object (Empty)
  }
  // End of list of possible types for union field apy.
}
Fields
accountBalanceSummary
(deprecated)

object (AccountBalanceSummary)

DEPRECATED: Up-to-date summary of the customer's account balance.

Deprecated due to the balance amounts not containing timestamps.

This will be removed before the final version of this spec. Please use accountBalances instead.

accountBlocks[]

object (AccountBlock)

OPTIONAL: Any Cache-related blocks that the bank has on this account.

sourceOfWealthStatus

object (SourceOfWealthStatus)

OPTIONAL: The status of the user's progress in providing source of wealth (advancedSourceOfWealth) information to the bank.

accountStatus

object (AccountStatus)

REQUIRED: Current status of this account.

mobileCheckDepositLimit

object (MonetaryLimit)

Limits related to depositing checks via a mobile device.

debitCardTopupLimit

object (MonetaryLimit)

Limits related to funding the Cache account from an external non-Cache account using a debit card.

debitCardFundOutLimit

object (MonetaryLimit)

Limits related to sending money from the Cache account to an external non-cache account using the debit card associated with that account.

achPullLimit

object (MonetaryLimit)

Limits related to funding the Cache account from an external non-Cache account using the account and routing number from the non-cache account.

achPushLimit

object (MonetaryLimit)

Limits related to sending money from the Cache account to an external non-Cache account by using the account and routing number from the non-cache account.

cashWithdrawalLimit

object (MonetaryLimit)

Limits related to cash withdrawals (including ATM and OTC).

atmWithdrawalLimit

object (MonetaryLimit)

Limits related to cash withdrawals via ATMs.

accountBalances

object (AccountBalances)

REQUIRED: An up-to-date summary of the customer's account balance.

Union field apr. A union field to ensure an explicit APR case is set in all responses. apr can be only one of the following:
annualPercentageRateInMicros

string (Int64Value format)

The Annual Percentage Rate of the account, in micros of a percent. For example, An APR of 2.25% would be represented as 2_250_000.

This value might change depending on the current balance of the account, so the value returned should be relevant for the balance reported in accountBalanceSummary.

An APR of 0% is valid if the account just happens to have a 0% APR right now. Don't use 0% if the account is not interest bearing in general. Use accountIsNotInterestBearing instead.

accountIsNotInterestBearing

object (Empty)

Indicates this account never bears interest.

Union field apy. A union field to ensure an explicit APY case is set in all responses. apy can be only one of the following:
annualPercentageYieldInMicros

string (Int64Value format)

The Annual Percentage Yield of the account, in micros of a percent. For example, An APY of 2.25% would be represented as 2_250_000.

An APY of 0% is valid if the account just happens to have a 0% APY right now. Don't use 0% if the account is not interest bearing in general. Use accountIsNotInterestBearing instead.

accountHasNoApy

object (Empty)

Indicates this account never bears interest.

AccountBlock

JSON representation
{

  // Union field block_type can be only one of the following:
  "risk": {
    object (Empty)
  },
  "sanctionsBlock": {
    object (Empty)
  }
  // End of list of possible types for union field block_type.
}
Fields

Union field block_type.

block_type can be only one of the following:

risk

object (Empty)

The bank's risk systems have flagged an Account as suspicious.

sanctionsBlock

object (Empty)

The user has been blocked from doing business due to a sanctions match. Note: users will be blocked from opening cache accounts if they are sanctioned. This covers the scenario where an existing, previously non-sanctioned user is now covered by sanctions.

SourceOfWealthStatus

Messages containing the status of the user's progress in providing full source of wealth (advancedSourceOfWealth) information to the bank.

JSON representation
{

  // Union field status can be only one of the following:
  "advancedSourceOfWealthStatus": {
    object (Empty)
  },
  "simplifiedSourceOfWealthStatus": {
    object (SimplifiedSourceOfWealthStatus)
  }
  // End of list of possible types for union field status.
}
Fields
Union field status. The status of the user's progress in providing full source of wealth (advancedSourceOfWealth) information to the bank. status can be only one of the following:
advancedSourceOfWealthStatus

object (Empty)

The user's advancedSourceOfWealth is on file.

simplifiedSourceOfWealthStatus

object (SimplifiedSourceOfWealthStatus)

The user has not provided the complete advancedSourceOfWealth.

SimplifiedSourceOfWealthStatus

Messages containing the user's standing given that they have only provided partial source of wealth (sourceOfWealth) information to the bank.

JSON representation
{

  // Union field status can be only one of the following:
  "inGoodStanding": {
    object (Empty)
  },
  "inWarningPeriod": {
    object (Empty)
  },
  "inGracePeriod": {
    object (Empty)
  },
  "inBlockedPeriod": {
    object (Empty)
  }
  // End of list of possible types for union field status.
}
Fields
Union field status. The user's standing in providing partial source of wealth (sourceOfWealth) information to the bank. status can be only one of the following:
inGoodStanding

object (Empty)

The user is in good standing.

inWarningPeriod

object (Empty)

The user is within the warning period. The user should be prompted to provide the complete advancedSourceOfWealth but is allowed to skip.

inGracePeriod

object (Empty)

The user is still within the grace period. The user should be prompted to provide the complete advancedSourceOfWealth but is allowed to skip.

inBlockedPeriod

object (Empty)

The user is within the blocked period and some account features have been blocked. The user should be prompted to provide the complete advancedSourceOfWealth and is not allowed to skip.

AccountStatus

Message containing the status of this account.

JSON representation
{

  // Union field status can be only one of the following:
  "open": {
    object (Empty)
  },
  "postNoCredit": {
    object (AccountStatusReason)
  },
  "postNoDebit": {
    object (AccountStatusReason)
  },
  "blocked": {
    object (AccountStatusReason)
  },
  "closed": {
    object (Empty)
  },
  "blockedPendingClosure": {
    object (Empty)
  }
  // End of list of possible types for union field status.
}
Fields
Union field status. The status of this account. status can be only one of the following:
open

object (Empty)

This account is open.

postNoCredit

object (AccountStatusReason)

No credits can be posted to this account.

postNoDebit

object (AccountStatusReason)

No debits can be posted to this account.

blocked

object (AccountStatusReason)

This account is blocked.

closed

object (Empty)

This account has been closed.

blockedPendingClosure

object (Empty)

This account is blocked due to an impending closure.

AccountStatusReason

Message containing the reason why the account is in its current state.

JSON representation
{

  // Union field reason can be only one of the following:
  "fraud": {
    object (Empty)
  },
  "compliance": {
    object (Empty)
  },
  "sanctions": {
    object (Empty)
  },
  "legal": {
    object (Empty)
  },
  "other": {
    object (Empty)
  }
  // End of list of possible types for union field reason.
}
Fields
Union field reason. The reason why the account is in its current state. reason can be only one of the following:
fraud

object (Empty)

The account's current state is due to suspected fraudulent activity.

compliance

object (Empty)

The account's current state is due to compliance issues.

sanctions

object (Empty)

Sanctions have been imposed on this account.

legal

object (Empty)

The account's current state is due to legal reasons.

other

object (Empty)

Any reason that does not fit into the buckets above.

MonetaryLimit

Contains details regarding total, remaining, and existence of limits pertaining to monetary amounts.

JSON representation
{
  "dailyLimit": {
    object (Limit)
  },
  "thirtyDayRollingLimit": {
    object (Limit)
  }
}
Fields
dailyLimit

object (Limit)

The limits per day.

thirtyDayRollingLimit

object (Limit)

The limits within a rolling 30-day cycle.

Limit

Details regarding whether a limit is required and if so, the total and remaining limit values.

JSON representation
{

  // Union field limit_type can be only one of the following:
  "noLimit": {
    object (Empty)
  },
  "limit": {
    object (CurrentLimit)
  }
  // End of list of possible types for union field limit_type.
}
Fields

Union field limit_type.

limit_type can be only one of the following:

noLimit

object (Empty)

There are no limits specified.

limit

object (CurrentLimit)

The total and remaining monetary limits.

CurrentLimit

Details regarding total and remaining monetary limits.

JSON representation
{
  "remaining": {
    object (Amount)
  },
  "total": {
    object (Amount)
  }
}
Fields
remaining

object (Amount)

The remaining amount allowed within a certain time period.

total

object (Amount)

The absolute total amount allowed within a certain time period.