Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.finicity.com
/microentry/v1/customers/{customerId}
Initiate the micro entries to customer's account. Two random micro amounts less than a dollar each will be deposited to provided customer's account. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/InitiateMicroAmountDepositsRequest"
}
POST /microentry/v1/customers/{customerId}
/microentry/v1/customers/{customerId}/accounts/{accountId}/amounts
Verify the micro entries as received by customer in customer's account. Customer needs to verify the micro amounts received in customer's account. `customerId` and `accountId` are the identifiers of the customer and account receiving the micro entries. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/VerifyMicroAmountDepositsRequest"
}
POST /microentry/v1/customers/{customerId}/accounts/{accountId}/amounts
/aggregation/v1/customers/{customerId}/accounts
Refresh account and transaction data for all accounts associated with the given `customerId` with a connection to the institution. Client apps are not permitted to automate calls to the Refresh services. Active accounts are automatically refreshed by Finicity once per day. Because many financial institutions only post transactions once per day, calling Refresh services repeatedly is usually a waste of resources and is not recommended. Apps may call Refresh services for a specific customer when there is a specific business case for the need of data that is up to date as of the moment. Please discuss with your account manager and systems engineer for further clarification. The recommended timeout setting for this request is 120 seconds in order to receive a response. However, you can terminate the connection after making the call the operation will still complete. You will have to pull the account records to check for an updated aggregation attempt date to know when the refresh is complete. Note: This service is not available for all tiers of dynamic billing. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
POST /aggregation/v1/customers/{customerId}/accounts
/aggregation/v1/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts
Refresh account and transaction data for all accounts associated with a given `institutionLoginId` with a connection to the institution. Client apps are not permitted to automate calls to the Refresh services. Active accounts are automatically refreshed by Finicity once per day. Because many financial institutions only post transactions once per day, calling Refresh repeatedly is usually a waste of resources and is not recommended. Apps may call Refresh services for a specific customer when there is a specific business case for the need of data that is up to date as of the moment. Please discuss with your account manager and systems engineer for further clarification. The recommended timeout setting for this request is 120 seconds in order to receive a response. However, you can terminate the connection after making the call the operation will still complete. You will have to pull the account records to check for an updated aggregation attempt date to know when the refresh is complete. Note: This service is not available for all tiers of dynamic billing. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
POST /aggregation/v1/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts
/aggregation/v2/customers/{customerId}/accounts
Refresh account and transaction data for all accounts associated with the given `customerId` with a connection to the institution. Client apps are not permitted to automate calls to the Refresh services. Active accounts are automatically refreshed by Finicity once per day. Apps may call Refresh services for a specific customer when there is a specific business case for the need of data that is up to date as of the moment. Please discuss with your account manager and systems engineer for further clarification. Note: This service will be used for dynamic billing tiers ASD, AFD and ATD. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
POST /aggregation/v2/customers/{customerId}/accounts
/aggregation/v2/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts
Refresh account and transaction data for all accounts associated with a given 'institutionLoginId` with a connection to the institution. Client apps are not permitted to automate calls to the Refresh services. Active accounts are automatically refreshed by Finicity once per day. Apps may call Refresh services for a specific customer when there is a specific business case for the need of data that is up to date as of the moment. Please discuss with your account manager and systems engineer for further clarification. Note: This service will be used for dynamic billing tiers ASD, AFD and ATD. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
POST /aggregation/v2/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts
/aggregation/v1/partners/applications
Register a new application to access financial institutions using OAuth connections. _Supported regions_: 
{
"$ref": "#/components/requestBodies/RegisterAppRequest"
}
POST /aggregation/v1/partners/applications
/aggregation/v2/partners/authentication
Send Partner ID and Partner Secret to the Partner Authentication service to obtain a token for accessing Finicity APIs. * The token is valid for two hours and is required on all calls to the Finicity APIs * As a best practice, use a single token for all calls. Assign a timestamp for each token, and then check the current timestamp before making any calls. If the token is greater than 90 minutes, generate a new one. * β οΈ After five failed attempts to authenticate, your account will be locked. Contact [support@finicity.com](mailto:support@finicity.com) to get help resetting your account. _Supported regions_: 
{
"$ref": "#/components/requestBodies/CreateTokenRequest"
}
POST /aggregation/v2/partners/authentication
/analytics/balance/v1/customer/{customerId}
Balance Analytics for Business analyzes bank balances over time to report metrics and identify behavior that may indicate risk. Calculated metrics include: * Current/available account balances * Minimum/maximum/average account balances over the requested time period and broken down by month * Daily ending balance of accounts for each day in the requested time period * Propensity of the customer's account balances to increase week over week * Number of days in the requested time period ending with a negative balance This version of the API is intended for piloting and integration testing your application with the Balance Analytics product. It does not adhere to FCRA requirements, and should not be used for production/lending purposes. See _Generate Balance Analytics - FCRA_ for the FCRA compliant version of this API. A successful call to this API will generate analytics and store a report within Finicity. The report can be retrieved via _Get Balance Analytics Report_ (operation: _GetObbAnalyticsReport_). _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateBalanceAnalyticsRequest"
}
POST /analytics/balance/v1/customer/{customerId}
/analytics/balance/v1/customer/{customerId}/fcra
Balance Analytics for Business analyzes bank balances over time to report metrics and identify behavior that may indicate risk. Calculated metrics include: * Current/available account balances * Minimum/maximum/average account balances over the requested time period and broken down by month * Daily ending balance of accounts for each day in the requested time period * Propensity of the customer's account balances to increase week over week * Number of days in the requested time period ending with a negative balance This version of the API is intended for production use. It maintains and enforces all compliance with FCRA rules and requirements. *Note:* this is a premium service, billable per every successful API call for non-testing customers. A successful call to this API will generate analytics and store a report within Finicity. The report can be retrieved via _Get Balance Analytics Report - FCRA_ (operation: _GetObbAnalyticsReportFCRA_). _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateBalanceAnalyticsFcraRequest"
}
POST /analytics/balance/v1/customer/{customerId}/fcra
/decisioning/v2/customers/{customerId}/reports/balance-analytics/userTypes/{userType}
Generate a Balance Analytics Report for a given customer. This service retrieves up to two years of transaction history from connected accounts. Balance Analytics analyzes bank balances over time to report metrics and identify behavior that may indicate risk. Before calling this API, A consumer or business may need to be created for the given customer ID based on the user type (see Consumer/Business APIs). If no account type of checking or savings is found, the service will return HTTP 400 Bad Request. This is a premium service, billable per every successful API call for non-testing customers. A successful call to this API will generate analytics report which can be retrieved via Get Report by Customer or Get Report by Consumer. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateBalanceAnalyticsReportRequest"
}
POST /decisioning/v2/customers/{customerId}/reports/balance-analytics/userTypes/{userType}
/decisioning/v2/customers/{customerId}/statement
Generate a Statement Report for the given accounts under the given customer. This is a premium service. A billable event will be created upon the successful generation of the Statement Report. Before calling this API, a consumer must be created for the given customer ID (see Consumers APIs). _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateStatementReportRequest"
}
POST /decisioning/v2/customers/{customerId}/statement
/business-services/customers/{customer_id}/businesses
Create a new business record for the associated customer. A customer can have one business record associated. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/BusinessDetailRequest"
}
POST /business-services/customers/{customer_id}/businesses
/decisioning/v2/customers/{customerId}/cashFlowBusiness
Generate a Cash Flow Report (Business) report for all checking and savings under the given customer. This service retrieves up to two years of transaction history for the given account. It then uses this information to generate the CFR report. A consumer is not required to generate this report. This report is not provided under FCRA rules, and this report is not available in the Finicity Consumer Portal for the borrower to view. If no account type of checking or savings is found, the service will return HTTP 400 Bad Request. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateCashFlowReportRequest"
}
POST /decisioning/v2/customers/{customerId}/cashFlowBusiness
/decisioning/v2/customers/{customerId}/cashFlowPersonal
Generate a Cash Flow Report (Personal) report for all checking and savings under the given customer. This service retrieves up to two years of transaction history for the given account. It then uses this information to generate the CFR report. This report is provided under FCRA rules, with Finicity acting as the CRA (Consumer Reporting Agency). If an individual account is included in the report - for example, with an individual acting as an personal guarantor on the loan - then this version of the report should be used. In case of an adverse action on the loan where the decision was based on this report, then the borrower can be referred to the [Finicity Consumer Portal](https://consumer.finicityreports.com) where they can view this report and submit a dispute if they feel any information in this report is inaccurate. Before calling this API, a consumer must be created for the given customer ID (see Consumers APIs). If no account type of checking or savings is found, the service will return HTTP 400 Bad Request. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateCashFlowReportRequest"
}
POST /decisioning/v2/customers/{customerId}/cashFlowPersonal
/analytics/cashflow/v1/customer/{customerId}
Cash Flow Analytics for Business analyzes cash flow over time to report metrics and identify behavior that may indicate risk. Calculated metrics include: * Average transaction value by month over the requested time period * Net cash flow over the requested time period and broken down by month * Count and report of weeks in the requested time period where there were zero transactions posted to the customer's accounts * Minimum/maximum/average/sum/count of deposits by month * Minimum/maximum/average/sum/count of withdrawals by month * Estimated amount of deposits that can be classified as business revenue * Number of transactions posted incurring a non-sufficient funds (NSF) fee, and net amount charged in NSF fees This version of the API is intended for piloting and integration testing your application with the Cash Flow Analytics product. It does not adhere to FCRA requirements, and should not be used for production/lending purposes. See _Generate Cash Flow Analytics - FCRA_ for the FCRA compliant version of this API. A successful call to this API will generate analytics and store a report within Finicity. The report can be retrieved via _Get Cash Flow Analytics Report_ (operation: _GetCashFlowAnalyticsReport_). _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateCashFlowAnalyticsRequest"
}
POST /analytics/cashflow/v1/customer/{customerId}
/analytics/cashflow/v1/customer/{customerId}/fcra
Cash Flow Analytics for Business analyzes cash flow over time to report metrics and identify behavior that may indicate risk. Calculated metrics include: * Average transaction value by month over the requested time period * Net cash flow over the requested time period and broken down by month * Count and report of weeks in the requested time period where there were zero transactions posted to the customer's accounts * Minimum/maximum/average/sum/count of deposits by month * Minimum/maximum/average/sum/count of withdrawals by month * Estimated amount of deposits that can be classified as business revenue * Number of transactions posted incurring a non-sufficient funds (NSF) fee, and net amount charged in NSF fees This version of the API is intended for production use. It maintains and enforces all compliance with FCRA rules and requirements. *Note:* this is a premium service, billable per every successful API call for non-testing customers. A successful call to this API will generate analytics and store a report within Finicity. The report can be retrieved via _Get Cash Flow Analytics Report - FCRA_ (operation: _GetCashFlowAnalyticsReportFCRA_). _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateCashFlowAnalyticsFcraRequest"
}
POST /analytics/cashflow/v1/customer/{customerId}/fcra
/decisioning/v2/customers/{customerId}/reports/cashflow-analytics/userTypes/{userType}
Generate a Cashflow Analytics Report for a given customer. This service retrieves up to two years of transaction history from connected accounts. Cashflow Analytics analyzes transaction over time to report metrics and identify behavior that may indicate risk. Before calling this API, A consumer or business may need to be created for the given customer ID based on the user type (see Consumer/Business APIs). If no account type of checking or savings is found, the service will return HTTP 400 Bad Request. This is a premium service, billable per every successful API call for non-testing customers. A successful call to this API will generate analytics report which can be retrieved via Get Report by Customer or Get Report by Consumer. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateCashflowAnalyticsReportRequest"
}
POST /decisioning/v2/customers/{customerId}/reports/cashflow-analytics/userTypes/{userType}
/connect/v2/generate
Generate a Connect 2.0 URL link to add within your own applications. Optional Parameters: * `experience`: Configure different customer experiences per Connect session by changing the brand, color, logo, icon, the type of credit decisioning report to generate after the session ends, and more. * `language`: By default, the Connect application is in English. You don't need to pass this parameter unless you want to translate Connect into one of our supported languages. * Spanish (United States) * French (Canada) MVS Developers: You can pre-populate the consumer's SSN on the Find employment records page at the beginning of the MVS payroll app. Pass the SSN value for the consumer in the body of the request call. _Supported regions_: 
{
"$ref": "#/components/requestBodies/GenerateConnectUrlRequest"
}
POST /connect/v2/generate
/connect/v2/generate/fix
Use the Connect Fix API when the following conditions occur: * The connection to the user's financial institution is lost * The user's credentials were updated (for any number of reasons) * The user's MFA challenge has expired _Supported regions_: 
{
"$ref": "#/components/requestBodies/GenerateFixConnectUrlRequest"
}
POST /connect/v2/generate/fix
/connect/v2/generate/jointBorrower
Same as Connect Full (`POST /connect/v2/generate`) but for joint borrowers. MVS prompts both the primary and joint borrower to enter each of their financial, payroll, and paystub information in the same Connect session. _Supported regions_: 
{
"$ref": "#/components/requestBodies/GenerateJointBorrowerConnectUrlRequest"
}
POST /connect/v2/generate/jointBorrower
/connect/v2/generate/lite
Connect Lite is a variation of Connect Full (`POST /connect/v2/generate`), which has a limited set of features. * Sign in, user's credentials, and Multi-Factor Authentication (MFA) * No user account management The Connect Web SDK isn't a requirement when using Connect lite. However, if you want to use the SDK events, routes, and user events, then you must integrate with the Connect Web SDK. _Supported regions_: 
{
"$ref": "#/components/requestBodies/GenerateLiteConnectUrlRequest"
}
POST /connect/v2/generate/lite
/connect/v2/generate/microentry/verify
The UI re-engages the consumer to enter two microdeposit amounts found in their account and validates them. _Supported regions_: 
{
"$ref": "#/components/requestBodies/MicroEntryVerifyRequest"
}
POST /connect/v2/generate/microentry/verify
/connect/v2/send/email
Same as Connect Full (`POST /connect/v2/generate`) but send a Connect email to a consumer. _Supported regions_: 
{
"$ref": "#/components/requestBodies/SendConnectEmailRequest"
}
POST /connect/v2/send/email
/connect/v2/send/email/jointBorrower
Same as Connect Joint Borrower (`POST /connect/v2/generate/jointBorrower`) but send a Connect email to at least one of the joint borrower's email addresses. When the consumer opens the email, MVS prompts both the primary and joint borrower to enter each of their financial, payroll, and paystub information in the same Connect session. _Supported regions_: 
{
"$ref": "#/components/requestBodies/SendJointBorrowerConnectEmailRequest"
}
POST /connect/v2/send/email/jointBorrower
/decisioning/v1/customers/{customerId}/consumer
Create a consumer record associated with the given customer. A consumer persists as the owner of any reports that are generated, even after the original customer is deleted from the system. A consumer must be created for the given customer before calling any of the Generate Report services. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/CreateConsumerRequest"
}
POST /decisioning/v1/customers/{customerId}/consumer
/aggregation/v2/customers/active
Enroll an active customer, which is the actual owner of one or more real-world accounts. This is a billable customer. Active customers must use the "FinBank Billable" profiles for testing purposes. _Supported regions_: 
{
"$ref": "#/components/requestBodies/AddCustomerRequest"
}
POST /aggregation/v2/customers/active
/aggregation/v2/customers/testing
Enroll a testing customer (Test Drive accounts). For using testing customers with FinBank OAuth, you must register a test application with your systems engineer or account manager. Then, use that testing `applicationId` when creating testing customers. Testing Customers can access FinBank profiles (except "FinBank Billable" profiles), and cannot access live financial institutions. _Supported regions_: 
{
"$ref": "#/components/requestBodies/AddCustomerRequest"
}
POST /aggregation/v2/customers/testing
/aggregation/v1/customers/{customerId}/payStatements
Upload pay statements for a customer. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/StoreCustomerPayStatementRequest"
}
POST /aggregation/v1/customers/{customerId}/payStatements
/analytics/payment-history/v1/customer/{customerId}
Payment history report analyzes up to 12-months of transactions and predicts the probability that a SMB will experience a payment risk event, such as NSF/Overdraft or missed recurring payments, in the near future when making a payment. The Risk Score provided in the report is a 2-digit ranking with four levels of risk going from low to high. Some of the highlights of calculated risk present in the report include: * Risk Score representing the likelihood of a missed payment based on analysis of permissioned open-banking data * Monthly average balance for all accounts by month in the requested time period * Total deposit amount by month for all accounts in the requested time period * Total withdrawal amounts by month for all accounts in the requested time period * Number of NSF counts and aggregate amount per month in the requested time period * Recurring loan payment amounts per month in the requested time period * Insurance payment amount per month in the requested time period * Tax payment amounts per month in the requested time period This version of the API is intended for piloting and integration testing your application with the Payment History product. It does not adhere to FCRA requirements, and should not be used for production/lending purposes. See _Generate Payment History - FCRA_ for the FCRA compliant version of this API. *Note:* this is a premium service, billable per every successful API call for non-testing customers. A successful call to this API will generate analytics and store a report within Finicity. The report can be retrieved via _Get OBB Analytics Report_ (operation: _GetObbAnalyticsReport_). *Note:* this is a premium service, billable per every successful API call for non-testing customers. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
POST /analytics/payment-history/v1/customer/{customerId}
/analytics/payment-history/v1/customer/{customerId}/fcra
Payment history report analyzes up to 12-months of transactions and predicts the probability that a SMB will experience a payment risk event, such as NSF/Overdraft or missed recurring payments, in the near future when making a payment. The Risk Score provided in the report is a 2-digit ranking with four levels of risk going from low to high. Some of the highlights of calculated risk present in the report include: * Risk Score representing the likelihood of a missed payment based on analysis of permissioned open-banking data * Monthly average balance for all accounts by month in the requested time period * Total deposit amount by month for all accounts in the requested time period * Total withdrawal amounts by month for all accounts in the requested time period * Number of NSF counts and aggregate amount per month in the requested time period * Recurring loan payment amounts per month in the requested time period * Insurance payment amount per month in the requested time period * Tax payment amounts per month in the requested time period This version of the API is intended for production use. It maintains and enforces all compliance with FCRA rules and requirements. *Note:* this is a premium service, billable per every successful API call for non-testing customers. A successful call to this API will generate analytics and store a report within Finicity. The report can be retrieved via _Get OBB Analytics Report - FCRA_ (operation: _GetObbAnalyticsReportFcra_). _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
POST /analytics/payment-history/v1/customer/{customerId}/fcra
/aggregation/v1/partners/accessKey
Generate access key for third party partners. A partner can provide access to third party partners with this access key.
{
"$ref": "#/components/requestBodies/GenerateThirdPartyAccessKeyRequest"
}
POST /aggregation/v1/partners/accessKey
/aggregation/v1/customers/{customerId}/accounts/{accountId}/transactions/historic
Connect to the account's financial institution and load up to 24 months of historic transactions for the account. Length of history varies by institution. This is a premium service. The billable event is a call to this service specifying a customer ID that has not been seen before by this service. (If this service is called multiple times with the same customer ID, to load transactions from multiple accounts, only one billable event has occurred.) The recommended timeout setting for this request is 180 seconds in order to receive a response. However, you can terminate the connection after making the call the operation will still complete. You will have to pull the account records to check for an updated aggregation attempt date to know when the refresh is complete. The date range sent to the institution is calculated from the account's `createdDate`. This means that calling this service a second time for the same account normally will not add any new transactions for the account. For this reason, a second call to this service for a known account ID will usually return immediately. In a few specific scenarios, it may be desirable to force a second connection to the institution for a known account ID. Some examples are: * The institution's policy has changed, making more transactions available * Finicity has now added a longer transaction history support for the institution * The first call encountered an error, and the resulting Aggregation Ticket has now been fixed by the Finicity Support Team In these cases, the POST request can contain the parameter `force=true` in the request body to force the second connection. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
POST /aggregation/v1/customers/{customerId}/accounts/{accountId}/transactions/historic
/decisioning/v2/customers/{customerId}/transactions
Generate a Transaction Report for the given accounts under the given customer. This service retrieves up to 24 months of transaction history for the given customer. It then uses this information to generate the Transaction Report. This is a premium service. A billable event will be created upon the successful generation of the Transactions Report. Before calling this API, a consumer must be created for the given customer ID (see Consumers APIs). There cannot be more than 24 months between `fromDate` and `toDate`. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateTransactionsReportRequest"
}
POST /decisioning/v2/customers/{customerId}/transactions
/aggregation/v1/customers/{customerId}/accounts/{accountId}/transactions
Inject a transaction into the transaction list for a testing account. This allows an app to trigger TxPush notifications for the account in order to test the app's TxPush Listener service. This causes the platform to send one transaction event and one account event (showing that the account balance has changed). This service is only supported for testing accounts. For additional details on this process, see [TxPush Listener Service](https://developer.mastercard.com/open-banking-us/documentation/products/manage/tx-push/#setting-up-the-txpush-listener-service). _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/CreateTxPushTestTransactionRequest"
}
POST /aggregation/v1/customers/{customerId}/accounts/{accountId}/transactions
/aggregation/v1/customers/{customerId}/accounts/{accountId}/txpush
Register a client app's TxPush Listener to receive TxPush notifications related to the given account. Each call to this service will return two records, one with class account and one with class transaction. Account events are sent when values change in the account's fields (such as `balance` or `interestRate`). Transaction events are sent whenever a new transaction is posted for the account. For institutions that do not provide TxPush services, notifications are sent as soon as Finicity finds a new transaction or new account data through regular aggregation processes. The listener's URL must be secure (HTTPS) for any real-world account. In addition, the client's TxPush Listener will need to be verified. HTTP and HTTPS connections are only allowed on the standard ports 80 (HTTP) and 443 (HTTPS). The use of other ports will result with the call failing. For additional details on this process, see [TxPush Listener Service](https://developer.mastercard.com/open-banking-us/documentation/products/manage/tx-push/#setting-up-the-txpush-listener-service). _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/SubscribeToTxPushNotificationsRequest"
}
POST /aggregation/v1/customers/{customerId}/accounts/{accountId}/txpush
/decisioning/v2/customers/{customerId}/assetSummary
Retrieve all checking, savings, money market, and investment accounts for a customer. The account, owner information, and the number of insufficient funds (NSFs) for checking accounts are also provided. If no account type of checking, savings, money market, or investment is found, the service will return HTTP 400 Bad Request. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GeneratePrequalificationReportRequest"
}
POST /decisioning/v2/customers/{customerId}/assetSummary
/decisioning/v2/customers/{customerId}/preQualVoa
Retrieve all checking, savings, money market, and investment accounts for a consumer. The account, owner information, and the number of insufficient funds (NSFs) for checking accounts are also provided. If no account of type checking, savings, money market, or investment is found, the service will return HTTP 400 Bad Request. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GeneratePrequalificationReportRequest"
}
POST /decisioning/v2/customers/{customerId}/preQualVoa
/decisioning/v2/customers/{customerId}/voa
Generate a Verification of Assets (VOA) report for all checking, savings, money market, and investment accounts for the given customer. This service retrieves up to twelve months of transaction history for each account and uses this information to generate the VOA report. This is a premium service. The billing rate is the variable rate for Verification of Assets under the current subscription plan. The billable event is the successful generation of a VOA report. Before calling this API, a consumer must be created for the given customer ID (see Consumers APIs). If no account of type checking, savings, money market, or investment is found, the service will return HTTP 400 Bad Request. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateVOAReportRequest"
}
POST /decisioning/v2/customers/{customerId}/voa
/decisioning/v2/customers/{customerId}/voaHistory
Generate a Verification of Assets with Income (VOAI) report for all checking, savings, money market, and investment accounts for the given customer. This service retrieves up to 24 months of transaction history for each account and uses this information to generate the VOAI report. The report includes 1 - 6 months of all debit and credit transactions for asset verification. By default, the history is set to 61 days, however, you can change the transaction history in this section by setting the `fromDate` parameter. The report also includes up to 24 months of income credit transactions (ordered by account and confidence level) regardless of `fromDate` for income verification. This is a premium service. The billable event is the successful generation of a VOAI report. Before calling this API, a consumer must be created for the given customer ID (see Consumers APIs). If no account of type checking, savings, money market, or investment is found, the service will return HTTP 400 Bad Request. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateVOAWithIncomeReportRequest"
}
POST /decisioning/v2/customers/{customerId}/voaHistory
/decisioning/v2/customers/{customerId}/payStatement
Generate Pay Statement Extraction Report for the given customer. This service accepts asset IDs of the stored pay statements to generate a Pay Statement Extraction Report. This is a premium service. The billing rate is the variable rate for Pay Statement Extraction Report under the current subscription plan. The billable event is the successful generation of a Pay Statement Extraction Report. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GeneratePayStatementReportRequest"
}
POST /decisioning/v2/customers/{customerId}/payStatement
/decisioning/v2/customers/{customerId}/voePayroll
Generate or refresh a VOE - Payroll report. Often used as a complementary report to the VOIE-Payroll report to fulfill the pre-close VOE requirements. It retrieves the customer's employment details and employment status through the payroll source without any income information. This is a premium service. The billable event is the successful generation of a VOE - Payroll report. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GeneratePayrollReportRequest"
}
POST /decisioning/v2/customers/{customerId}/voePayroll
/decisioning/v2/customers/{customerId}/voeTransactions
Premium Service: A billable event when the API response is successful. MVS-Direct integration developers only. Used as a complimentary report to the VOA with Income and VOIE - Paystub (with TXVerify) reports and used to fulfill the pre-close VOE requirements. Retrieve the latest credit transaction information from the borrower's connected bank accounts and groups them into income streams so that you can view their payment history to ensure a direct deport was made within the expected cadence. The report displays transaction descriptions without any dollar amounts so that income re-verification isn't necessary. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateVOETransactionsReportRequest"
}
POST /decisioning/v2/customers/{customerId}/voeTransactions
/decisioning/v2/customers/{customerId}/voi
Generate a Verification of Income (VOI) report for all checking, savings, and money market accounts for the given customer. This service retrieves up to two years of transaction history for each account and uses this information to generate the VOI report. This is a premium service. The billing rate is the variable rate for Verification of Income under the current subscription plan. The billable event is the successful generation of a VOI report. If no account of type checking, savings, or money market is found, the service will return HTTP 400 Bad Request. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateVOIReportRequest"
}
POST /decisioning/v2/customers/{customerId}/voi
/decisioning/v2/customers/{customerId}/voiePayroll
Generate or refresh a VOIE - Payroll report. For clients using the product via a consumer permissioning experience via Connect, the original VOIE - Payroll report generates when the consumer completes the Connect experience, and this API is only used for future report refreshes without reengaging the consumer. This is a premium service. The billable event is the successful generation of a VOIE - Payroll report. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GeneratePayrollReportRequest"
}
POST /decisioning/v2/customers/{customerId}/voiePayroll
/decisioning/v2/customers/{customerId}/voieTxVerify/withInterview
Generate a VOIE - Paystub (with TXVerify) report for all checking and savings under the given customer. This service retrieves up to two years of transaction history for the given accounts. It then uses this information as well as the provided paystub(s), which are passed into the request body as asset IDs (generated using the Store Customer Pay Statement API) to generate the VOIE - Paystub (with TXVerify) report. Note: if you are using this API to refresh the bank transactions, use the same asset ID from the first report. A new paystub is not required unless the paystub is too old for underwriting requirements. Using the same asset ID that was on the original report and the previously extracted details will be used to speed up report generation response time. This is a premium service. The billing rate is the variable rate for VOIE TXVerify under the current subscription plan. The billable event is the successful generation of a VOIE TXVerify Report. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateVOIEPaystubWithTXVerifyReportRequest"
}
POST /decisioning/v2/customers/{customerId}/voieTxVerify/withInterview
/decisioning/v2/customers/{customerId}/voieTxVerify/withStatement
Generate a VOIE - Paystub report. This service uses the provided paystub(s), which are passed into the request body as asset IDs (generated using the Store Customer Pay Statement API) to generate the VOIE - Paystub report with digitized paystub details. This is a premium service. The billing rate is the variable rate for VOIE - Paystub under the current subscription plan. The billable event is the successful generation of a VOIE - Paystub Report. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/GenerateVOIEPaystubReportRequest"
}
POST /decisioning/v2/customers/{customerId}/voieTxVerify/withStatement
ACHDetails
{
"type": "object",
"required": [
"routingNumber",
"realAccountNumber"
],
"properties": {
"routingNumber": {
"type": "string",
"example": "123456789",
"description": "The routing number of the financial institution for specific customer account"
},
"realAccountNumber": {
"type": "string",
"example": "002345678901",
"description": "The account number for initiating ACH transfers for this account"
}
},
"description": "The routing and account number information to initiate ACH transfers"
}
AFBalanceAnalyticsReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/AnalyticsReportAck"
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"example": 730,
"description": "Number of days covered by the report"
},
"endDate": {
"$ref": "#/components/schemas/ReportEndDate"
},
"seasoned": {
"type": "boolean",
"example": true,
"description": "\"true\" if the report covers more than 365 days"
},
"startDate": {
"$ref": "#/components/schemas/ReportStartDate"
},
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportInstitution"
},
"description": "A list of institution records, including information about the individual accounts used in this report"
},
"customerAnalytics": {
"$ref": "#/components/schemas/CustomerAnalytics"
}
}
}
],
"description": "A Balance Analytics Report"
}
AFBusiness
{
"type": "object",
"required": [
"name",
"address"
],
"properties": {
"name": {
"$ref": "#/components/schemas/BusinessName"
},
"address": {
"type": "object",
"properties": {
"city": {
"$ref": "#/components/schemas/City"
},
"state": {
"$ref": "#/components/schemas/State"
},
"country": {
"$ref": "#/components/schemas/Country"
},
"postalCode": {
"$ref": "#/components/schemas/ZipCode"
},
"addressLine1": {
"$ref": "#/components/schemas/AddressLine1"
},
"addressLine2": {
"$ref": "#/components/schemas/AddressLine2"
}
}
}
}
}
AFCashFlowAnalyticsReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/AnalyticsReportAck"
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"example": 730,
"description": "Number of days covered by the report"
},
"endDate": {
"$ref": "#/components/schemas/ReportEndDate"
},
"seasoned": {
"type": "boolean",
"example": true,
"description": "\"true\" if the report covers more than 365 days"
},
"startDate": {
"$ref": "#/components/schemas/ReportStartDate"
},
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportInstitution"
},
"description": "A list of institution records, including information about the individual accounts used in this report"
},
"customerAnalytics": {
"$ref": "#/components/schemas/CustomerAnalytics"
}
}
}
],
"description": "A Cash Flow Analytics Report"
}
AccessToken
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"example": "YBh22Sb9Es6e66Q7lWdt",
"description": "The access token value"
}
},
"description": "A temporary access token to be passed in the `Finicity-App-Token` HTTP header of all subsequent API requests"
}
AccountAnalytics
{
"type": "object",
"required": [
"transactionalAttributes",
"stateAttributes",
"streams"
],
"properties": {
"streams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StreamModel"
},
"description": "List of generated streams"
},
"stateAttributes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StateAttribute"
},
"description": "List of calculated state attributes"
},
"transactionalAttributes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TransactionalAttribute"
},
"description": "List of calculated transactional attributes"
}
},
"description": "Analytics calculated for one account in the report."
}
AccountDetails
{
"type": "object",
"properties": {
"vestedBalance": {
"type": "number",
"example": 300000,
"description": "Only available for investment accounts. Vested amount in account."
},
"currentLoanBalance": {
"type": "number",
"example": 0,
"description": "Only available for investment accounts. Current loan balance."
},
"availableCashBalance": {
"type": "number",
"example": 1500,
"description": "Only available for investment accounts. Amount available for cash withdrawal."
},
"interestMarginBalance": {
"type": "number",
"example": -50000,
"description": "Only available for investment accounts. Net interest earned after deducting interest paid out."
},
"availableBalanceAmount": {
"type": "number",
"example": 1000,
"description": "The available balance for the account"
}
}
}
AccountDetailsTxBased
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/AccountDetails"
},
{
"type": "object",
"properties": {
"marginBalance": {
"type": "number",
"example": 100,
"description": "Net interest earned after deducting interest paid out"
},
"currentBalance": {
"type": "number",
"example": 1000,
"description": "Current balance"
}
}
}
]
}
AccountId
{
"type": "string",
"example": "5011648377",
"description": "An account ID"
}
AccountNumberDisplay
{
"type": "string",
"description": "The account number from a financial institution in truncated format:\n\n * Last four digits: \"1234\"\n\n * Last four digits with suffix: \"1234-9\"\n\n * Full value for string accounts: \"john@gmail.com\"\nexample: '1234-9'"
}
AccountNumberLast4
{
"type": "string",
"example": "5678",
"description": "The last 4 digits of the ACH account number"
}
AccountOwner
{
"type": "object",
"required": [
"ownerName",
"ownerAddress"
],
"properties": {
"asOfDate": {
"$ref": "#/components/schemas/UnixDate"
},
"ownerName": {
"type": "string",
"example": "John Smith",
"description": "The name of the account owner. Can be multiple account owners in one string. This is how the source data is returned from the institution."
},
"ownerAddress": {
"$ref": "#/components/schemas/Address"
}
},
"description": "Owner of a customer account"
}
AccountOwnerAddress
{
"type": "object",
"properties": {
"city": {
"$ref": "#/components/schemas/City"
},
"type": {
"$ref": "#/components/schemas/AddressType"
},
"line1": {
"$ref": "#/components/schemas/AddressLine1"
},
"line2": {
"$ref": "#/components/schemas/AddressLine2"
},
"line3": {
"$ref": "#/components/schemas/AddressLine3"
},
"state": {
"$ref": "#/components/schemas/State"
},
"country": {
"$ref": "#/components/schemas/Country"
},
"postalCode": {
"$ref": "#/components/schemas/ZipCode"
},
"ownerAddress": {
"$ref": "#/components/schemas/Address"
}
},
"description": "Account owner address"
}
AccountOwnerAddresses
{
"type": "array",
"items": {
"$ref": "#/components/schemas/AccountOwnerAddress"
},
"description": "List of addresses"
}
AccountOwnerDetails
{
"type": "object",
"required": [
"ownerName",
"addresses"
],
"properties": {
"emails": {
"$ref": "#/components/schemas/AccountOwnerEmails"
},
"phones": {
"$ref": "#/components/schemas/AccountOwnerPhones"
},
"suffix": {
"$ref": "#/components/schemas/Suffix"
},
"lastName": {
"$ref": "#/components/schemas/LastName"
},
"addresses": {
"$ref": "#/components/schemas/AccountOwnerAddresses"
},
"firstName": {
"$ref": "#/components/schemas/FirstName"
},
"ownerName": {
"$ref": "#/components/schemas/AccountOwnerName"
},
"middleName": {
"$ref": "#/components/schemas/MiddleName"
},
"relationship": {
"$ref": "#/components/schemas/AccountOwnerRelationshipType"
},
"documentations": {
"$ref": "#/components/schemas/AccountOwnerDocumentations"
},
"identityInsights": {
"$ref": "#/components/schemas/AccountOwnerIdentityInsights"
},
"nameClassification": {
"$ref": "#/components/schemas/NameClassificationType"
},
"nameClassificationconfidencescore": {
"$ref": "#/components/schemas/ClassificationConfidenceScore"
}
},
"description": "Owner of a customer account"
}
AccountOwnerDocumentation
{
"type": "object",
"properties": {
"taxId": {
"$ref": "#/components/schemas/TaxId"
},
"governmentId": {
"$ref": "#/components/schemas/GovernmentId"
},
"taxIdCountry": {
"$ref": "#/components/schemas/Country"
}
},
"description": "Account owner documentation"
}
AccountOwnerDocumentations
{
"type": "array",
"items": {
"$ref": "#/components/schemas/AccountOwnerDocumentation"
},
"description": "List of account owner documentation"
}
AccountOwnerEmail
{
"type": "object",
"properties": {
"email": {
"$ref": "#/components/schemas/EmailAddress"
},
"emailType": {
"$ref": "#/components/schemas/AccountOwnerEmailType"
},
"isPrimary": {
"$ref": "#/components/schemas/AccountOwnerEmailPrimary"
}
},
"description": "Account owner email"
}
AccountOwnerEmailPrimary
{
"type": "boolean",
"example": true,
"description": "The email is primary."
}
AccountOwnerEmailType
{
"type": "string",
"example": "Personal",
"description": "The account owner's email type.\n\n* \"Personal\" \n\n* \"Business\""
}
AccountOwnerEmails
{
"type": "array",
"items": {
"$ref": "#/components/schemas/AccountOwnerEmail"
},
"description": "List of emails"
}
AccountOwnerHolders
{
"type": "object",
"required": [
"holders"
],
"properties": {
"holders": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AccountOwnerDetails"
},
"description": "List of account owners"
}
}
}
AccountOwnerIdentityInsights
{
"type": "object",
"properties": {
"ipRisk": {
"$ref": "#/components/schemas/IpRisk"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Warnings"
}
},
"emailToName": {
"$ref": "#/components/schemas/EmailToName"
},
"ipRiskScore": {
"$ref": "#/components/schemas/IpRiskScore"
},
"phoneToName": {
"$ref": "#/components/schemas/PhoneToName"
},
"isEmailValid": {
"$ref": "#/components/schemas/EmailValid"
},
"isPhoneValid": {
"$ref": "#/components/schemas/PhoneValid"
},
"phoneCarrier": {
"$ref": "#/components/schemas/PhoneCarrier"
},
"addressToName": {
"$ref": "#/components/schemas/AddressToName"
},
"phoneLineType": {
"$ref": "#/components/schemas/PhoneLineType"
},
"ipLastSeenDays": {
"$ref": "#/components/schemas/IpLastSeenDays"
},
"phoneToAddress": {
"$ref": "#/components/schemas/PhoneToAddress"
},
"ipPhoneDistance": {
"$ref": "#/components/schemas/IpPhoneDistance"
},
"phoneCountryCode": {
"$ref": "#/components/schemas/PhoneCountryCode"
},
"identityRiskScore": {
"$ref": "#/components/schemas/IdentityRiskScore"
},
"ipAddressDistance": {
"$ref": "#/components/schemas/IpAddressDistance"
},
"phoneLastSeenDays": {
"$ref": "#/components/schemas/PhoneLastSeenDays"
},
"emailFirstSeenDays": {
"$ref": "#/components/schemas/EmailFirstSeenDays"
},
"addressValidityLevel": {
"$ref": "#/components/schemas/AddressValidityLevel"
},
"identityNetworkScore": {
"$ref": "#/components/schemas/IdentityNetworkScore"
},
"emailDomainCreationDate": {
"$ref": "#/components/schemas/EmailDomainCreationDate"
},
"phoneEmailFirstSeenDays": {
"$ref": "#/components/schemas/PhoneEmailFirstSeenDays"
},
"ipGeolocationCountryCode": {
"$ref": "#/components/schemas/IpGeolocationCountryCode"
},
"ipGeolocationSubdivision": {
"$ref": "#/components/schemas/IpGeolocationSubdivision"
}
},
"description": "List of account owner Identity Insights"
}
AccountOwnerName
{
"type": "string",
"example": "John Smith, PhD",
"description": "The full name of the account owner. Multiple account owners are returned in one string per the source data from the institution."
}
AccountOwnerPhone
{
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/AccountOwnerPhoneType"
},
"phone": {
"$ref": "#/components/schemas/PhoneNumber"
},
"country": {
"$ref": "#/components/schemas/PhoneCountry"
}
},
"description": "Consumer phone"
}
AccountOwnerPhoneType
{
"type": "string",
"example": "HOME",
"description": "The account owner's phone type: \n\n* \"HOME\"\n\n* \"BUSINESS\"\n\n* \"CELL\"\n\n* \"FAX\""
}
AccountOwnerPhones
{
"type": "array",
"items": {
"$ref": "#/components/schemas/AccountOwnerPhone"
},
"description": "List of phones"
}
AccountOwnerRelationshipType
{
"type": "string",
"example": "AUTHORIZED_USER",
"description": "The type of relationship to the account: \n* \"AUTHORIZED_USER\" \n\n* \"BUSINESS\" \n\n* \"FOR_BENEFIT_OF_PRIMARY\" \n\n* \"FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED\" \n\n* \"FOR_BENEFIT_OF_SECONDARY\"\n\n* \"FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED\"\n\n* \"FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED\"\n\n* \"POWER_OF_ATTORNEY\"\n\n* \"PRIMARY_JOINT_TENANTS\"\n\n* \"PRIMARY\"\n\n* \"PRIMARY_BORROWER\"\n\n* \"PRIMARY_JOINT\"\n\n* \"SECONDARY\"\n\n* \"SECONDARY_JOINT_TENANTS\"\n\n* \"SECONDARY_BORROWER\"\n\n* \"SECONDARY_JOINT\"\n\n* \"SOLE_OWNER\"\n\n* \"TRUSTEE\"\n\n* \"UNIFORM_TRANSFER_TO_MINOR\""
}
AccountStatus
{
"type": "string",
"example": "pending",
"description": "An account status"
}
AccountType
{
"type": "string",
"example": "checking",
"description": "The list of supported account types.\n* \"checking\": Standard checking\n* \"savings\": Standard savings\n* \"cd\": Certificates of deposit\n* \"moneyMarket\": Money Market\n* \"creditCard\": Standard credit cards\n* \"lineOfCredit\": Home equity, line of credit\n* \"investment\": Generic investment (no details)\n* \"investmentTaxDeferred\": Generic tax-advantaged investment (no details)\n* \"employeeStockPurchasePlan\": ESPP, Employee Stock Ownership Plans (ESOP), Stock Purchase Plans\n* \"ira\": Individual Retirement Account (not Rollover or Roth)\n* \"401k\": 401K Plan\n* \"roth\": Roth IRA, Roth 401K\n* \"403b\": 403B Plan\n* \"529plan\": 529 Plan (True value is 529)\n* \"rollover\": Rollover IRA\n* \"ugma\": Uniform Gifts to Minors Act\n* \"utma\": Uniform Transfers to Minors Act\n* \"keogh\": Keogh Plan\n* \"457plan\": 457 Plan (True value is 457)\n* \"401a\": 401A Plan\n* \"brokerageAccount\": Brokerage Account\n* \"educationSavings\": Education Savings Account that is not a 529\n* \"healthSavingsAccount\": HSA (Health Savings Accounts)\n* \"pension\": Pension\n* \"profitSharingPlan\": Profit Sharing Plan\n* \"roth401k\": Roth 401K\n* \"sepIRA\": Simplified Employee Pension IRA\n* \"simpleIRA\": Simple IRA\n* \"thriftSavingsPlan\": Thrift Savings Plan\n* \"variableAnnuity\": Variable Annuity\n* \"cryptocurrency\": Cryptocurrency Wallet, Cryptocurrency Account\n* \"mortgage\": Standard Mortgages\n* \"loan\": Auto loans, equity loans, other loans\n* \"studentLoan\": Student Loan\n* \"studentLoanGroup\": Student Loan Group\n* \"studentLoanAccount\": Student Loan Account"
}
ActiveStatus
{
"type": "string",
"example": "ACTIVE",
"description": "Possible values: \"ACTIVE\", \"INACTIVE\""
}
Address
{
"type": "string",
"example": "434 W Ascension Way",
"description": "A street address"
}
AddressLine1
{
"type": "string",
"example": "434 W Ascension Way",
"description": "Address line 1"
}
AddressLine2
{
"type": "string",
"example": "Suite #200",
"description": "Address line 2"
}
AddressLine3
{
"type": "string",
"example": "UT 84123",
"description": "Address line 3"
}
AddressToName
{
"type": "string",
"example": "match",
"description": "The match status between the input name and the queried entity.\n* not-found\n* match\n* no-match"
}
AddressType
{
"type": "string",
"example": "Home",
"description": "The type of address location:\n* \"Business\"\n* \"Home\"\n* \"Mailing\""
}
AddressValidityLevel
{
"type": "number",
"example": null,
"description": "The most granular level to which the address could be validated. Ex. If the address was only valid to the city level (but not to the house level), it would return βvalid_to_cityβ.\n * missing_address - An input address was not provided.\n\n * invalid - The input address is not valid.\n\n * valid - The input address is valid.\n\n * valid_to_country - The input address could only be validated to the\ncountry level. This means the country of the input address is valid, but the other elements of the input address were unable to be confirmed as valid or invalid.\n\n * valid_to_city - The input address was validated to the city level.\nThis means the country, state, city, and postal code of the input address are valid, but the street, house number, and subpremise of the input address were unable to be confirmed as valid or invalid.\n\n * valid_to_street - The input address was validated to the street\nlevel. This means the country, state, city, postal code, and street of the input address are valid, but the house number and subpremise of the input address were unable to be confirmed as valid or invalid.\n\n * valid_to_house_number - The input address was validated to the\nstreet and house number level. This means the country, state, city, postal code, street, and house number of the input address are valid, but the subpremise of the input address was unable to be confirmed as valid or invalid. \n\n * valid_to_house_number_missing_apt - The input address was\nvalidated to the street and house number level. This means the country, state, city, postal code, street, and house number of the input address are valid, but the subpremise of the input address was missing and thus unable to be confirmed as valid or invalid."
}
AggregationStatus
{
"type": "string",
"example": "active",
"description": "\"pending\" during account discovery, always \"active\" following\n successful account activation"
}
AggregationStatusCode
{
"type": "integer",
"description": "The status of the most recent aggregation attempt (see [Aggregation Status Codes](https://developer.mastercard.com/open-banking-us/documentation/products/manage/account-aggregation/#aggregation-status-codes)). Won't be present until you have run your first aggregation for the account."
}
AnalyticsReportAck
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAck"
},
{
"type": "object",
"properties": {
"reportPin": {
"$ref": "#/components/schemas/ReportPin"
},
"constraints": {
"$ref": "#/components/schemas/AnalyticsReportConstraintsOut"
},
"businessDetails": {
"$ref": "#/components/schemas/BusinessDetails"
}
}
}
],
"required": [
"id",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"type",
"status",
"constraints"
]
}
AnalyticsReportConstraints
{
"type": "object",
"properties": {
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIdsString"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"analyticsReportData": {
"$ref": "#/components/schemas/AnalyticsReportData"
}
}
}
AnalyticsReportConstraintsOut
{
"type": "object",
"properties": {
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIds"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"analyticsReportData": {
"$ref": "#/components/schemas/AnalyticsReportData"
}
}
}
AnalyticsReportData
{
"type": "object",
"required": [
"forCraPurpose"
],
"properties": {
"forCraPurpose": {
"type": "boolean",
"example": true,
"description": "Field to indicate if the requested report is for CRA or NONCRA. For small business lending or other similar business use cases, pass the value as βtrueβ for purposes of this field."
},
"timeIntervalTypes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimeIntervalType"
},
"example": [
"MONTHLY_CALENDAR"
],
"maxItems": 2,
"description": "Requested time interval for attribute values."
},
"applicantIsPersonalGuarantor": {
"type": "boolean",
"example": true,
"description": "Field to indicate if the business owner will personally guarantee the loan. If true, a consumer record will be required."
}
},
"description": "Parameters supplied by the client requesting the analytics."
}
AnalyticsReportsAccount
{
"type": "object",
"required": [
"id",
"name",
"number",
"type",
"currency",
"transactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1000023996,
"description": "The ID of the account"
},
"name": {
"type": "string",
"example": "Checking",
"description": "The account name from the institution"
},
"type": {
"type": "string",
"example": "checking",
"description": "One of the values from account types"
},
"number": {
"type": "string",
"example": "XX1111",
"description": "The account number from the institution (obfuscated)"
},
"details": {
"$ref": "#/components/schemas/AccountDetails"
},
"ownerName": {
"$ref": "#/components/schemas/ReportAccountOwnerName"
},
"balanceDate": {
"type": "integer",
"format": "int64",
"example": 1614880526,
"description": "A timestamp showing when the `balance` was captured"
},
"ownerAddress": {
"$ref": "#/components/schemas/ReportAccountOwnerAddress"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransaction"
},
"description": "a list of transaction records"
},
"currentBalance": {
"type": "number",
"example": 100000,
"description": "The cleared balance of the account as-of `balanceDate`"
},
"accountAnalytics": {
"$ref": "#/components/schemas/AccountAnalytics"
},
"availableBalance": {
"type": "number",
"example": 1000,
"description": "Available balance"
},
"aggregationStatusCode": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The status of the most recent aggregation attempt"
}
}
}
AnnualIncome
{
"type": "object",
"required": [
"year",
"grossPayAmountYTD"
],
"properties": {
"year": {
"type": "string",
"example": 2022,
"description": "The year for the amounts given in YTD totals for an employer"
},
"netPayAmountYTD": {
"type": "number",
"example": 123.45,
"description": "Year to date (YTD) net pay amount for the indicated year"
},
"basePayAmountYTD": {
"type": "number",
"example": 123.45,
"description": "Year to date (YTD) base pay amount for the year indicated"
},
"grossPayAmountYTD": {
"type": "number",
"example": 123.45,
"description": "Year to date (YTD) gross pay amount for the indicated year"
},
"otherPayAmountYTD": {
"type": "number",
"example": 123.45,
"description": "Year to date (YTD) other pay amount for the indicated year. Other pay is pay that is not categorized into one of the other categories."
},
"commissionPayAmount": {
"type": "number",
"example": 123.45,
"description": "Year to date (YTD) commission pay amount for the indicated year"
},
"overtimePayAmountYTD": {
"type": "number",
"example": 123.45,
"description": "Year to date (YTD) overtime pay amount for the year indicated"
}
}
}
AppFinancialInstitutionStatus
{
"type": "object",
"required": [
"id",
"decryptionKeyActivated",
"createdDate",
"lastModifiedDate",
"status"
],
"properties": {
"id": {
"$ref": "#/components/schemas/NumericInstitutionId"
},
"status": {
"type": "boolean",
"example": true,
"description": "\"false\" indicates registration is still pending"
},
"logoUrl": {
"type": "string",
"example": "https://prod-direct-integration-client.s3.us-west-2.amazonaws.com/976521f99-7b36-4b3b-a3e0-faff9545836d/102224/90x90.png",
"description": "An URL to a logo file"
},
"abbrvName": {
"type": "string",
"example": "VAEJ",
"description": "The application's abbreviated name"
},
"createdDate": {
"$ref": "#/components/schemas/UnixDate"
},
"lastModifiedDate": {
"$ref": "#/components/schemas/UnixDate"
},
"decryptionKeyActivated": {
"type": "boolean",
"example": false,
"description": "Status of decryption keys for financial institution app registration"
}
},
"description": "The registration status fields for each specific OAuth financial institution"
}
AppRegistrationStatus
{
"type": "string",
"example": "P",
"description": "The status of an app registration request. \"A\" means approved. \"P\" means pending which is the status when initially submitted or when the app is modified and awaiting approval. \"R\" means rejected. If it is rejected there will be a note with the rejected reason."
}
AppStatus
{
"type": "object",
"required": [
"partnerId",
"preAppId",
"appName",
"submittedDate",
"modifiedDate",
"status"
],
"properties": {
"note": {
"type": "string",
"example": "Approved",
"description": "A note on the registration. Typically used to indicate reasons for rejected apps."
},
"scopes": {
"type": "string",
"example": "Account Info",
"description": "Indicates scopes of data accessible to the app"
},
"status": {
"$ref": "#/components/schemas/AppRegistrationStatus"
},
"appName": {
"$ref": "#/components/schemas/ApplicationName"
},
"preAppId": {
"$ref": "#/components/schemas/PreAppId"
},
"partnerId": {
"$ref": "#/components/schemas/PartnerId"
},
"modifiedDate": {
"$ref": "#/components/schemas/UnixDate"
},
"applicationId": {
"$ref": "#/components/schemas/ApplicationId"
},
"submittedDate": {
"$ref": "#/components/schemas/UnixDate"
},
"institutionDetails": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AppFinancialInstitutionStatus"
},
"description": "A list of the registration status for each FI for the application"
}
},
"description": "Registration status details for the application"
}
AppStatuses
{
"type": "object",
"required": [
"totalRecords",
"totalPages",
"pageNumber",
"numberOfRecordsPerPage",
"applications"
],
"properties": {
"pageNumber": {
"type": "integer",
"format": "int64",
"example": 2,
"description": "The current page number"
},
"totalPages": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "The total number of pages"
},
"applications": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AppStatus"
},
"description": "A list of applications with their statuses"
},
"totalRecords": {
"type": "integer",
"format": "int64",
"example": 50,
"description": "The total number of results"
},
"numberOfRecordsPerPage": {
"type": "integer",
"format": "int64",
"example": 10,
"description": "The number of results per page"
}
},
"description": "The response for the Get App Registration Status API which returns an array of status objects"
}
Application
{
"type": "object",
"required": [
"appDescription",
"appName",
"appUrl",
"ownerAddressLine1",
"ownerAddressLine2",
"ownerCity",
"ownerCountry",
"ownerName",
"ownerPostalCode",
"ownerState",
"image"
],
"properties": {
"image": {
"type": "string",
"example": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgICAKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAwIDAiCiAgIGhlaWdodD0iMCIKICAgd2lkdGg9IjAiPgogICAgPGcvPgo8L3N2Zz4K",
"description": "An app logo passed as a Base64 encoded image (1:1 SVG file, must be less than 50KB)"
},
"appUrl": {
"type": "string",
"example": "https://www.finicity.com/",
"description": "An URL for the app. This will be visible to end users in the FI interface."
},
"appName": {
"$ref": "#/components/schemas/ApplicationName"
},
"ownerCity": {
"type": "string",
"example": "Murray",
"description": "City for the business entity that owns the app. Information for registration purposes only and not given to the end user."
},
"ownerName": {
"type": "string",
"example": "Finicity",
"description": "Business name for the business entity that owns the app. Information for registration purposes only and not given to the end user."
},
"ownerState": {
"type": "string",
"example": "UT",
"description": "State for the business entity that owns the app. Information for registration purposes only and not given to the end user."
},
"ownerCountry": {
"type": "string",
"example": "USA",
"description": "Country for the business entity that owns the app. Information for registration purposes only and not given to the end user."
},
"appDescription": {
"type": "string",
"example": "The app that makes your budgeting experience awesome",
"description": "A short description of the app. This will be visible to end users in the FI interface."
},
"ownerPostalCode": {
"type": "string",
"example": "84123",
"description": "Zip code for the business entity that owns the app. Information for registration purposes only and not given to the end user."
},
"ownerAddressLine1": {
"$ref": "#/components/schemas/AddressLine1"
},
"ownerAddressLine2": {
"$ref": "#/components/schemas/AddressLine2"
}
}
}
ApplicationId
{
"type": "string",
"example": "123456789",
"description": "`applicationId` value returned from the Get App Registration Status API and the partner assign the customers to. This cannot be changed once set. Only applicable in cases of partners with multiple registered applications. If the partner only has one app, this can usually be omitted. This field is populated after the app is in a status approved."
}
ApplicationName
{
"type": "string",
"example": "Awesome Budget App",
"description": "The name of the application assigned to the customer"
}
AsOfDate
{
"type": "integer",
"format": "int64",
"example": 1596175200,
"description": "The last time the payroll data was updated in the payroll provider's system"
}
Asset
{
"type": "object",
"required": [
"assetId"
],
"properties": {
"assetId": {
"$ref": "#/components/schemas/AssetId"
}
},
"description": "An asset"
}
AssetId
{
"type": "string",
"example": "097545c5-1c2a-4f20-a5ef-77f0820344c9-2018601178",
"description": "An asset ID. Generated by Connect or by using the Store Customer Pay Statement API."
}
AssetsGetBinaryFileResponse
{
"type": "string",
"format": "binary"
}
AvailableBalance
{
"type": "object",
"required": [
"id",
"realAccountNumberLast4",
"availableBalance",
"availableBalanceDate",
"clearedBalance",
"clearedBalanceDate",
"aggregationStatusCode",
"currency"
],
"properties": {
"id": {
"$ref": "#/components/schemas/NumericCustomerId"
},
"currency": {
"$ref": "#/components/schemas/Currency"
},
"clearedBalance": {
"type": "number",
"example": 222.25,
"description": "The cleared balance of the account. Also referred as posted balance, current balance, ledger balance"
},
"availableBalance": {
"type": "number",
"example": 173.47,
"description": "The available balance of the account"
},
"clearedBalanceDate": {
"$ref": "#/components/schemas/UnixDate"
},
"availableBalanceDate": {
"$ref": "#/components/schemas/UnixDate"
},
"aggregationStatusCode": {
"$ref": "#/components/schemas/AggregationStatusCode"
},
"realAccountNumberLast4": {
"$ref": "#/components/schemas/AccountNumberLast4"
}
}
}
BalanceAnalyticsAccountResult
{
"type": "object",
"required": [
"accountId",
"accountDetails",
"historicDataAvailability",
"currentReportRequest"
],
"properties": {
"accountId": {
"$ref": "#/components/schemas/NumericAccountId"
},
"accountDetails": {
"$ref": "#/components/schemas/ObbAccountDetails"
},
"currentReportRequest": {
"$ref": "#/components/schemas/ObbCurrentReportRequestDetails"
},
"balanceAnalyticsMetrics": {
"$ref": "#/components/schemas/BalanceAnalyticsMetrics"
},
"historicDataAvailability": {
"$ref": "#/components/schemas/ObbDataAvailability"
}
}
}
BalanceAnalyticsBusinessSummary
{
"type": "object",
"properties": {
"currentReportRequest": {
"$ref": "#/components/schemas/ObbCurrentReportRequestDetails"
},
"balanceAnalyticsMetrics": {
"$ref": "#/components/schemas/BalanceAnalyticsMetrics"
},
"historicDataAvailability": {
"$ref": "#/components/schemas/ObbDataAvailability"
}
},
"description": "Balance analytics summarized across all accounts in the report"
}
BalanceAnalyticsGetReportDataFcraResponse
{
"type": "string",
"format": "binary"
}
BalanceAnalyticsGetReportDataResponse
{
"type": "string",
"format": "binary"
}
BalanceAnalyticsMetrics
{
"type": "object",
"properties": {
"availableBalance": {
"type": "number",
"example": 1000.01,
"description": "Available Balance"
},
"availableBalanceDate": {
"type": "string",
"example": "2022-02-18T02:34:00-07:00",
"maxLength": 25,
"minLength": 25,
"description": "Available Balance date"
},
"currentRunningBalance": {
"type": "number",
"example": 1000.01,
"description": "Current Running Balance Date"
},
"currentRunningBalanceDate": {
"type": "string",
"example": "2022-02-10T05:00:00-07:00",
"maxLength": 25,
"minLength": 25,
"description": "Current Running Balance date"
},
"dailyBalancesForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDailyBalance"
},
"default": [],
"example": [
{
"date": "2022-03-22",
"dayOfWeek": "Sunday",
"endingBalance": 21527.3
}
],
"description": "Daily balance of the account over the length of the report"
},
"averageDailyBalanceForTheReportTimePeriod": {
"type": "number",
"example": -10442.53,
"description": "Average Daily Balance"
},
"averageWeekdayBalanceForTheReportTimePeriod": {
"type": "number",
"example": -10442.53,
"description": "Average Weekday Balance"
},
"maximumRunningBalanceForTheReportTimePeriod": {
"type": "number",
"example": -28749.44,
"description": "Maximum Running Balance"
},
"minimumRunningBalanceForTheReportTimePeriod": {
"type": "number",
"example": -28749.44,
"description": "Minimum Running Balance"
},
"dailyBalancesByWeekdayForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDailyBalance"
},
"default": [],
"example": [
{
"date": "2022-03-23",
"dayOfWeek": "Monday",
"endingBalance": 21527.3
}
],
"description": "Daily balance of the account during weekdays over the length of the report"
},
"historicNumberOfWeeksAverageBalanceIncreasing": {
"$ref": "#/components/schemas/ObbNumWeeksAverageBalanceIncreasing"
},
"averageDailyBalanceByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Average daily ending balance each month over the report time period"
},
"maximumDailyBalanceByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Maximum daily ending balance each month over the report time period"
},
"minimumDailyBalanceByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Minimum daily ending balance each month over the report time period"
},
"countDailyNegativeBalancesByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndCount"
},
"description": "Number of negative daily ending balances each month over the report time period"
}
},
"description": "Balance analytics metrics and calculations"
}
BalanceAnalyticsReport
{
"type": "object",
"required": [
"customerId",
"title",
"reportHeader"
],
"properties": {
"title": {
"$ref": "#/components/schemas/ReportTitle"
},
"businessId": {
"type": "integer",
"example": 4444,
"description": "Business ID"
},
"customerId": {
"$ref": "#/components/schemas/NumericCustomerId"
},
"reportHeader": {
"$ref": "#/components/schemas/ObbReportHeader"
},
"requesterName": {
"type": "string",
"example": "Mortgage ABC LLC",
"maxLength": 255,
"minLength": 0,
"description": "Name of requester"
},
"accountResults": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BalanceAnalyticsAccountResult"
},
"description": "Balance results per account"
},
"businessSummary": {
"$ref": "#/components/schemas/BalanceAnalyticsBusinessSummary"
}
},
"description": "Balance analytics report data as JSON"
}
BalanceAndCashFlowAnalyticsReportConstraints
{
"type": "object",
"properties": {
"accountIds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NumericAccountId"
},
"description": "The list of account IDs to include in the report. If omitted, all accounts on record for the customer will be used."
},
"lengthOfReport": {
"type": "integer",
"example": 730,
"description": "Number of days to search for transactions. Must be one of 30, 90, 180, 270, 365, or 730. If omitted, defaults to 2 years from current time at which the request was received (730 days)."
}
},
"description": "Request parameters from the partner to control the customer accounts included in the report, and the length of time to report on."
}
BankStatementsGetCustomerStatementInPdfResponse
{
"type": "string",
"format": "binary"
}
BaseReportAck
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/ReportId"
},
"type": {
"$ref": "#/components/schemas/ReportType"
},
"title": {
"$ref": "#/components/schemas/ReportTitle"
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ErrorMessage"
},
"description": "In case errors occurred during the report generation"
},
"status": {
"$ref": "#/components/schemas/ReportStatus"
},
"requestId": {
"$ref": "#/components/schemas/ReportRequestId"
},
"consumerId": {
"$ref": "#/components/schemas/ConsumerId"
},
"customerId": {
"$ref": "#/components/schemas/NumericCustomerId"
},
"consumerSsn": {
"$ref": "#/components/schemas/SocialSecurityNumberLastDigits"
},
"createdDate": {
"$ref": "#/components/schemas/ReportCreatedDate"
},
"customerType": {
"$ref": "#/components/schemas/CustomerType"
},
"requesterName": {
"$ref": "#/components/schemas/PartnerName"
}
},
"description": "Properties shared by all generated reports"
}
BaseReportAckWithPortfolioId
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAck"
},
{
"type": "object",
"properties": {
"portfolioId": {
"$ref": "#/components/schemas/PortfolioId"
}
}
}
],
"description": "Properties shared by all generated reports having a portfolio ID"
}
Birthday
{
"type": "object",
"properties": {
"year": {
"type": "integer",
"format": "int32",
"example": 1989,
"description": "The birthday 4-digit year"
},
"month": {
"type": "integer",
"format": "int32",
"example": 8,
"description": "The birthday 2-digit month (1 is January)"
},
"dayOfMonth": {
"type": "integer",
"format": "int32",
"example": 13,
"description": "The birthday 2-digit day-of-month"
}
},
"description": "A birth date"
}
Borrower
{
"type": "object",
"required": [
"customerId",
"consumerId",
"type"
],
"properties": {
"type": {
"$ref": "#/components/schemas/BorrowerType"
},
"consumerId": {
"$ref": "#/components/schemas/ConsumerId"
},
"customerId": {
"$ref": "#/components/schemas/CustomerId"
},
"optionalConsumerInfo": {
"$ref": "#/components/schemas/ConsumerInfo"
}
}
}
BorrowerType
{
"type": "string",
"example": "primary",
"description": "\"primary\" or \"jointBorrower\""
}
Borrowers
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Borrower"
},
"description": "(MVS) Array of borrowers to pass the primary and joint borrower's customer and consumer IDs"
}
Branding
{
"type": "object",
"properties": {
"icon": {
"type": "string",
"example": "https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/5/icon.svg",
"description": "File path of the institution's icon. For search results designed at 40 x 40."
},
"logo": {
"type": "string",
"example": "https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/5/logo.svg",
"description": "File path of the institution's logo. For white backgrounds designed at 375 x 72, has built in spacing around it to normalize brand sizing."
},
"tile": {
"type": "string",
"example": "https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/5/tile.svg",
"description": "File path of institution name logo. For popular banks designed at 160 x 72."
},
"primaryColor": {
"type": "string",
"example": "#0167AE",
"description": "Hex code for the institution's primary color"
},
"alternateLogo": {
"type": "string",
"example": "https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/5/alternateLogo.svg",
"description": "File path of the institution's alternate logo. For colored backgrounds designed at 375 x 72 has built in spacing around it to normalize brand sizing."
}
},
"description": "All assets are SVGs so can be slightly resized without any issues."
}
BrandingWrapper
{
"type": "object",
"required": [
"branding"
],
"properties": {
"branding": {
"$ref": "#/components/schemas/Branding"
}
}
}
Business
{
"allOf": [
{
"$ref": "#/components/schemas/NewBusiness"
},
{
"type": "object",
"properties": {
"businessId": {
"$ref": "#/components/schemas/BusinessId"
},
"createdDate": {
"$ref": "#/components/schemas/NoZoneDateTime"
},
"modifiedDate": {
"$ref": "#/components/schemas/NoZoneDateTime"
}
}
}
]
}
BusinessDetails
{
"allOf": [
{
"$ref": "#/components/schemas/AFBusiness"
},
{
"type": "object",
"properties": {
"businessId": {
"$ref": "#/components/schemas/BusinessId"
}
}
}
]
}
BusinessId
{
"type": "string",
"example": "1112",
"maxLength": 50,
"minLength": 1,
"description": "Unique identifier of the business"
}
BusinessList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Business"
},
"maxItems": 1,
"minItems": 1
}
BusinessName
{
"type": "string",
"example": "ABC Tires Inc",
"description": "The name of a business"
}
CadenceDetails
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"format": "int32",
"example": 14,
"description": "Number of days between the recurring deposits"
},
"stopDate": {
"type": "integer",
"format": "int64",
"example": 1587986990,
"description": "`postedDate` of the final deposit transaction (omitted if status is active)"
},
"startDate": {
"type": "integer",
"format": "int64",
"example": 1577986990,
"description": "`postedDate` of the first deposit transaction"
}
}
}
CashFlowActivityDepositsCredits
{
"type": "object",
"required": [
"date",
"depositsCredits"
],
"properties": {
"date": {
"type": "string",
"example": "2020-03-25",
"maxLength": 10,
"minLength": 10,
"description": "Date the deposit transaction was posted"
},
"depositsCredits": {
"type": "number",
"example": 500,
"description": "Amount of the deposit"
},
"transactionDescription": {
"type": "string",
"example": "VENMO CASHOUT",
"maxLength": 255,
"minLength": 0,
"description": "Description of transaction"
}
}
}
CashFlowActivityWithdrawalsDebits
{
"type": "object",
"required": [
"date",
"withdrawalsDebits"
],
"properties": {
"date": {
"type": "string",
"example": "2020-03-25",
"maxLength": 10,
"minLength": 10,
"description": "Date the withdrawal transaction was posted"
},
"withdrawalsDebits": {
"type": "number",
"example": 15.69,
"description": "Amount of the withdrawal"
},
"transactionDescription": {
"type": "string",
"example": "Payment to Chase card ending in",
"maxLength": 255,
"minLength": 0,
"description": "Description of transaction"
}
}
}
CashFlowAnalyticsAccountResult
{
"type": "object",
"required": [
"accountId",
"accountDetails",
"historicDataAvailability",
"currentReportRequest"
],
"properties": {
"accountId": {
"$ref": "#/components/schemas/NumericAccountId"
},
"accountDetails": {
"$ref": "#/components/schemas/ObbAccountDetails"
},
"currentReportRequest": {
"$ref": "#/components/schemas/ObbCurrentReportRequestDetails"
},
"cashflowAnalyticsMetrics": {
"$ref": "#/components/schemas/CashFlowAnalyticsMetrics"
},
"historicDataAvailability": {
"$ref": "#/components/schemas/ObbDataAvailability"
}
}
}
CashFlowAnalyticsBusinessSummary
{
"type": "object",
"required": [
"historicDataAvailability",
"currentReportRequest"
],
"properties": {
"currentReportRequest": {
"$ref": "#/components/schemas/ObbCurrentReportRequestDetails"
},
"cashflowAnalyticsMetrics": {
"$ref": "#/components/schemas/CashFlowAnalyticsMetrics"
},
"historicDataAvailability": {
"$ref": "#/components/schemas/ObbDataAvailability"
}
},
"description": "Cash flow analytics summarized across all accounts in the report"
}
CashFlowAnalyticsMetrics
{
"type": "object",
"properties": {
"inflow": {
"$ref": "#/components/schemas/CashFlowInflowAttributes"
},
"outflow": {
"$ref": "#/components/schemas/CashFlowOutflowAttributes"
},
"negativeTriggers": {
"$ref": "#/components/schemas/CashFlowNegativeTriggers"
},
"transactionAnalytics": {
"$ref": "#/components/schemas/CashFlowTransactionAnalyticsAttributes"
},
"revenueForTheReportTimePeriod": {
"type": "number",
"example": 43893.44,
"description": "Sum of all transactions categorized as revenue"
},
"revenueByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Sum of all transactions categorized as revenue, split by months"
}
},
"description": "Cash flow analytics metrics and calculations"
}
CashFlowAnalyticsReport
{
"type": "object",
"required": [
"customerId",
"title",
"reportHeader"
],
"properties": {
"title": {
"$ref": "#/components/schemas/ReportTitle"
},
"businessId": {
"type": "integer",
"example": 4444,
"description": "Business ID"
},
"customerId": {
"$ref": "#/components/schemas/NumericCustomerId"
},
"reportHeader": {
"$ref": "#/components/schemas/ObbReportHeader"
},
"totalRevenue": {
"type": "number",
"example": 904909.33,
"description": "The total revenue"
},
"requesterName": {
"type": "string",
"example": "Mortgage ABC LLC",
"maxLength": 255,
"minLength": 0,
"description": "Name of requester"
},
"accountResults": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowAnalyticsAccountResult"
},
"description": "Cash flow results per account"
},
"businessSummary": {
"$ref": "#/components/schemas/CashFlowAnalyticsBusinessSummary"
}
},
"description": "Cash Flow Analytics report data as JSON"
}
CashFlowCashFlowBalance
{
"type": "object",
"required": [
"monthlyCashFlowBalances",
"minDailyBalance",
"maxDailyBalance",
"twelveMonthAverageDailyBalance",
"sixMonthAverageDailyBalance",
"twoMonthAverageDailyBalance",
"twelveMonthStandardDeviationOfDailyBalance",
"twoMonthStandardDeviationOfDailyBalance",
"numberOfDaysPositiveBalance"
],
"properties": {
"maxDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Max Daily Balance across entire transaction history"
},
"minDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Min daily balance across entire transaction history"
},
"monthlyCashFlowBalances": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowMonthlyCashFlowBalances"
},
"description": "List of attributes for each month"
},
"numberDaysNegativeBalance": {
"type": "string",
"example": "6",
"description": "Number of Days Negative Balance over entire transaction history"
},
"numberOfDaysPositiveBalance": {
"type": "string",
"example": "0",
"description": "Number of Days positive balance over entire transaction history"
},
"sixMonthAverageDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Average Daily Balance across six months for the account"
},
"twoMonthAverageDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Average Daily Balance across two months for the account"
},
"twelveMonthAverageDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Average Daily Balance across twelve months for the account"
},
"sixMonthStandardDeviationOfDailyBalance": {
"type": "string",
"example": "20",
"description": "Standard Deviation of Daily Balance across six months for the account"
},
"twoMonthStandardDeviationOfDailyBalance": {
"type": "string",
"example": "20",
"description": "Standard Deviation of Daily Balance across two months for the account"
},
"twelveMonthStandardDeviationOfDailyBalance": {
"type": "string",
"example": "20",
"description": "Standard Deviation of Daily Balance across twelve months for the account"
}
}
}
CashFlowCashFlowBalanceSummary
{
"type": "object",
"required": [
"monthlyCashFlowBalanceSummaries",
"minDailyBalance",
"maxDailyBalance",
"twelveMonthAverageDailyBalance",
"sixMonthAverageDailyBalance",
"twoMonthAverageDailyBalance",
"twelveMonthStandardDeviationOfDailyBalance",
"twoMonthStandardDeviationOfDailyBalance",
"numberOfDaysNegativeBalance",
"numberOfDaysPositiveBalance"
],
"properties": {
"maxDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Max Daily Balance across entire transaction history for all accounts"
},
"minDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Min Daily Balance across entire transaction history for all accounts"
},
"numberOfDaysNegativeBalance": {
"type": "string",
"example": "6",
"description": "Number of Days Negative Balance over entire transaction history for all accounts"
},
"numberOfDaysPositiveBalance": {
"type": "string",
"example": "11",
"description": "Number of Days Positive Balance over entire transaction history for all accounts"
},
"sixMonthAverageDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Average Daily Balance across six months for all accounts"
},
"twoMonthAverageDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Average Daily Balance across two months for all accounts"
},
"twelveMonthAverageDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Average Daily Balance across twelve months for all accounts"
},
"monthlyCashFlowBalanceSummaries": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowMonthlyCashFlowBalanceSummaries"
},
"description": "List of attributes for each month"
},
"sixMonthStandardDeviationOfDailyBalance": {
"type": "string",
"example": "20",
"description": "Standard Deviation of Daily Balance across six months for all accounts"
},
"twoMonthStandardDeviationOfDailyBalance": {
"type": "string",
"example": "20",
"description": "Standard Deviation of Daily Balance across two months for all accounts"
},
"twelveMonthStandardDeviationOfDailyBalance": {
"type": "string",
"example": "20",
"description": "Standard Deviation of Daily Balance across twelve months for all accounts"
}
}
}
CashFlowCashFlowCharacteristic
{
"type": "object",
"required": [
"monthlyCashFlowCharacteristics",
"averageMonthlyNet",
"averageMonthlyNetLessTransfers"
],
"properties": {
"averageMonthlyNet": {
"type": "number",
"example": 2350,
"description": "Average (Total Credits - Total Debits) for the account"
},
"twelveMonthTotalNet": {
"type": "number",
"example": 12500,
"description": "Sum of all monthly (Total Credits - Total Debits) each month for the account"
},
"averageMonthlyNetLessTransfers": {
"type": "number",
"example": 1000,
"description": "Average (Total Credits - Total Debits) without transfers for the account"
},
"monthlyCashFlowCharacteristics": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowMonthlyCashFlowCharacteristics"
},
"description": "List of attributes for each month"
},
"twelveMonthTotalNetLessTransfers": {
"type": "number",
"example": 12400,
"description": "Sum of all monthly (Total Credits - Total Debits) without transfers for the account"
},
"sixMonthAverageTotalCreditsLessTotalDebits": {
"type": "number",
"example": 55555,
"description": "6 Month Average (Total Credits - Total Debits)"
},
"twoMonthAverageTotalCreditsLessTotalDebits": {
"type": "number",
"example": 55555,
"description": "2 Month Average (Total Credits - Total Debits)"
},
"sixMonthAverageTotalCreditsLessTotalDebitsLessTransfers": {
"type": "number",
"example": 55555,
"description": "6 Month Average (Total Credits - Total Debits) - (Without Transfers)"
},
"twoMonthAverageTotalCreditsLessTotalDebitsLessTransfers": {
"type": "number",
"example": 55555,
"description": "2 Month Average (Total Credits - Total Debits) - (Without Transfers)"
}
}
}
CashFlowCashFlowCharacteristicsSummary
{
"type": "object",
"required": [
"averageMonthlyNet",
"averageMonthlyNetLessTransfers",
"twelveMonthTotalNet",
"twelveMonthTotalNetLessTransfers",
"sixMonthAverageTotalCreditsLessTotalDebits",
"sixMonthAverageTotalCreditsLessTotalDebitsLessTransfers",
"twoMonthAverageTotalCreditsLessTotalDebits"
],
"properties": {
"averageMonthlyNet": {
"type": "number",
"example": 1250,
"description": "Average monthly net amount"
},
"twelveMonthTotalNet": {
"type": "number",
"example": 12500,
"description": "Sum of all monthly (Total Credits - Total Debits) each month by the account"
},
"averageMonthlyNetLessTransfers": {
"type": "number",
"example": 1000,
"description": "Average monthly net less transfers"
},
"twelveMonthTotalNetLessTransfers": {
"type": "number",
"example": 12400,
"description": "Sum of all monthly (Total Credits - Total Debits) without transfers by the account"
},
"monthlyCashFlowCharacteristicsSummaries": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowMonthlyCashFlowCharacteristicsSummaries"
},
"description": "List of attributes for each month"
},
"sixMonthAverageTotalCreditsLessTotalDebits": {
"type": "number",
"example": 55555,
"description": "6 Month Average (Total Credits - Total Debits) across all accounts"
},
"twoMonthAverageTotalCreditsLessTotalDebits": {
"type": "number",
"example": 55555,
"description": "2 Month Average (Total Credits - Total Debits) across all accounts"
},
"sixMonthAverageTotalCreditsLessTotalDebitsLessTransfers": {
"type": "number",
"example": 55555,
"description": "6 Month Average (Total Credits - Total Debits) - (Without Transfers) across all accounts"
},
"twoMonthAverageTotalCreditsLessTotalDebitsLessTransfers": {
"type": "number",
"example": 55555,
"description": "2 Month Average (Total Credits - Total Debits) - (Without Transfers) across all accounts"
}
}
}
CashFlowCashFlowCredit
{
"type": "object",
"required": [
"monthlyCashFlowCredits"
],
"properties": {
"sixMonthCreditTotal": {
"type": "number",
"example": 750,
"description": "Sum of six month credit transactions"
},
"twoMonthCreditTotal": {
"type": "number",
"example": 150,
"description": "Sum of two month credit transactions"
},
"monthlyCashFlowCredits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowMonthlyCashFlowCredits"
},
"description": "List of attributes for each month"
},
"twelveMonthCreditTotal": {
"type": "number",
"example": 1200,
"description": "Sum of all credit transactions for each month by account"
},
"sixMonthCreditTotalLessTransfers": {
"type": "number",
"example": 500,
"description": "Sum of six month credit transactions without transfers"
},
"twoMonthCreditTotalLessTransfers": {
"type": "number",
"example": 100,
"description": "Sum of two month credit transactions without transfers"
},
"twelveMonthCreditTotalLessTransfers": {
"type": "number",
"example": 1000,
"description": "Sum of all monthly credit transactions without transfers for the account"
}
}
}
CashFlowCashFlowCreditSummary
{
"type": "object",
"required": [
"monthlyCashFlowCreditSummaries",
"twelveMonthCreditTotal",
"twelveMonthCreditTotalLessTransfers",
"sixMonthCreditTotal",
"sixMonthCreditTotalLessTransfers",
"twoMonthCreditTotal",
"twoMonthCreditTotalLessTransfers"
],
"properties": {
"sixMonthCreditTotal": {
"type": "number",
"example": 750,
"description": "Six month sum of all credit transactions"
},
"twoMonthCreditTotal": {
"type": "number",
"example": 150,
"description": "Two month sum of all credit transactions"
},
"twelveMonthCreditTotal": {
"type": "number",
"example": 1200,
"description": "Sum of all credit transactions for each month for all accounts"
},
"monthlyCashFlowCreditSummaries": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowMonthlyCashFlowCreditSummaries"
},
"description": "List of attributes for each month"
},
"sixMonthCreditTotalLessTransfers": {
"type": "number",
"example": 500,
"description": "Six month sum of all monthly credit transactions without transfers for all accounts"
},
"twoMonthCreditTotalLessTransfers": {
"type": "number",
"example": 100,
"description": "Two month sum of all monthly credit transactions without transfers for all accounts"
},
"twelveMonthCreditTotalLessTransfers": {
"type": "number",
"example": 1000,
"description": "Sum of all monthly credit transactions without transfers for all accounts"
}
}
}
CashFlowCashFlowDebit
{
"type": "object",
"required": [
"monthlyCashFlowDebits"
],
"properties": {
"sixMonthDebitTotal": {
"type": "number",
"example": 750,
"description": "Six month sum of all debit transactions"
},
"twoMonthDebitTotal": {
"type": "number",
"example": 150,
"description": "Two month sum of all debit transactions"
},
"monthlyCashFlowDebits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowMonthlycashflowDebits"
},
"description": "List of attributes for each month"
},
"twelveMonthDebitTotal": {
"type": "number",
"example": 1200,
"description": "Sum of all monthly debit transactions for each month by account"
},
"sixMonthDebitTotalLessTransfers": {
"type": "number",
"example": 500,
"description": "Six month sum of all debit transactions without transfers for the account"
},
"twoMonthDebitTotalLessTransfers": {
"type": "number",
"example": 100,
"description": "Two month sum of all debit transactions without transfers for the account"
},
"twelveMonthDebitTotalLessTransfers": {
"type": "number",
"example": 1000,
"description": "Sum of all monthly debit transactions without transfers for the account"
}
}
}
CashFlowCashFlowDebitSummary
{
"type": "object",
"required": [
"monthlyCashFlowDebitSummaries",
"twelveMonthDebitTotal",
"twelveMonthDebitTotalLessTransfers",
"sixMonthDebitTotal",
"sixMonthDebitTotalLessTransfers",
"twoMonthDebitTotal",
"twoMonthDebitTotalLessTransfers"
],
"properties": {
"sixMonthDebitTotal": {
"type": "number",
"example": -750,
"description": "Six month sum of all debit transactions by account"
},
"twoMonthDebitTotal": {
"type": "number",
"example": -150,
"description": "Two month sum of all debit transactions by account"
},
"twelveMonthDebitTotal": {
"type": "number",
"example": -1200,
"description": "Sum of all monthly debit transactions for each month by account"
},
"monthlyCashFlowDebitSummaries": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowMonthlyCashFlowDebitSummaries"
},
"description": "List of attributes for each month"
},
"sixMonthDebitTotalLessTransfers": {
"type": "number",
"example": -500,
"description": "Six month sum of all debit transactions without transfers for the account"
},
"twoMonthDebitTotalLessTransfers": {
"type": "number",
"example": -100,
"description": "Two month sum of all debit transactions without transfers for the account"
},
"twelveMonthDebitTotalLessTransfers": {
"type": "number",
"example": -1000,
"description": "Sum of all monthly debit transactions without transfers for the account"
}
}
}
CashFlowInflowAttributes
{
"type": "object",
"required": [
"minimumDepositByMonthForTheReportTimePeriod",
"maximumDepositByMonthForTheReportTimePeriod",
"sumDepositsByMonthForTheReportTimePeriod",
"countDepositsByMonthForTheReportTimePeriod",
"historicCountOfDepositTransactions"
],
"properties": {
"historicSumOfDeposits": {
"type": "number",
"example": 389.22,
"description": "Sum of ALL deposits over entire known history of the account (may exceed requested length of report)"
},
"historicCountOfDepositTransactions": {
"type": "integer",
"example": 20,
"description": "Count of ALL deposits over entire known history of the account (may exceed requested length of report)"
},
"sumDepositsByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Sum of all deposits during periods in the report"
},
"countDepositsByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndCount"
},
"description": "Count of all deposits during periods in the report"
},
"averageDepositByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Average value of deposits during periods in the report"
},
"maximumDepositByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Maximum deposit value for different periods in the report"
},
"minimumDepositByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Minimum deposit value for different periods in the report"
}
},
"description": "Inflow Attributes"
}
CashFlowInsufficientFundsFees
{
"type": "object",
"properties": {
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/InsufficientFundsTransaction"
},
"description": "Transactions categorized as NSF"
},
"sumOfTransactionsForTheReportTimePeriod": {
"type": "number",
"example": -1.65,
"description": "Sum of all NSF transactions during the report"
},
"countOfTransactionsForTheReportTimePeriod": {
"type": "integer",
"example": 1,
"description": "Count of all NSF transactions during the report"
}
},
"description": "Non-Sufficient Fund Fees"
}
CashFlowMonthlyCashFlowBalanceSummaries
{
"type": "object",
"required": [
"month",
"minDailyBalance",
"maxDailyBalance",
"averageDailyBalance",
"numberOfDaysNegativeBalance",
"numberOfDaysPositiveBalance"
],
"properties": {
"month": {
"type": "integer",
"format": "int64",
"example": 1512111600,
"description": "One instance for each complete calendar month in the report"
},
"maxDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Max Daily Balance for each month for all accounts"
},
"minDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Min Daily Balance for each month for all accounts"
},
"averageDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Average Daily Balance for each month for all accounts"
},
"numberOfDaysNegativeBalance": {
"type": "string",
"example": "6",
"description": "Number of Days Negative Balance for each month for all accounts"
},
"numberOfDaysPositiveBalance": {
"type": "string",
"example": "0",
"description": "Number of Days Positive Balance for each month for all accounts"
},
"standardDeviationOfDailyBalance": {
"type": "string",
"example": "20.45454545",
"description": "Standard Deviation of Daily Balance for each month for all accounts"
}
}
}
CashFlowMonthlyCashFlowBalances
{
"type": "object",
"required": [
"month",
"minDailyBalance",
"maxDailyBalance",
"averageDailyBalance",
"numberOfDaysNegativeBalance",
"numberOfDaysPositiveBalance"
],
"properties": {
"month": {
"type": "integer",
"format": "int64",
"example": 1512111600,
"description": "One instance for each complete calendar month in the report"
},
"maxDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Max Daily Balance for each month"
},
"minDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Min Daily Balance for each month"
},
"averageDailyBalance": {
"type": "number",
"example": 3479.39,
"description": "Average Daily Balance for each month"
},
"numberOfDaysNegativeBalance": {
"type": "string",
"example": "6",
"description": "Number of Days Negative Balance for each month"
},
"numberOfDaysPositiveBalance": {
"type": "string",
"example": "0",
"description": "Number of Days positive balance for each month"
},
"standardDeviationOfDailyBalance": {
"type": "string",
"example": "20",
"description": "Standard Deviation of Daily Balance for each month"
}
}
}
CashFlowMonthlyCashFlowCharacteristics
{
"type": "object",
"required": [
"month",
"totalCreditsLessTotalDebits",
"totalCreditsLessTotalDebitsLessTransfers",
"averageTransactionAmount"
],
"properties": {
"month": {
"type": "integer",
"format": "int64",
"example": 1512111600,
"description": "One instance for each complete calendar month in the report"
},
"averageTransactionAmount": {
"type": "number",
"example": 10,
"description": "Average transaction amount by month"
},
"totalCreditsLessTotalDebits": {
"type": "number",
"example": 15000,
"description": "Total Credits - Total Debits by month"
},
"totalCreditsLessTotalDebitsLessTransfers": {
"type": "number",
"example": 11000,
"description": "Total Credits - Total Debits by month (Without Transfers)"
}
}
}
CashFlowMonthlyCashFlowCharacteristicsSummaries
{
"type": "object",
"required": [
"month",
"totalCreditsLessTotalDebits",
"totalCreditsLessTotalDebitsLessTransfers",
"averageTransactionAmount"
],
"properties": {
"month": {
"type": "integer",
"format": "int64",
"example": 1512111600,
"description": "One instance for each complete calendar month in the report"
},
"averageTransactionAmount": {
"type": "number",
"example": 10,
"description": "Average transaction amount across all accounts"
},
"totalCreditsLessTotalDebits": {
"type": "number",
"example": 15000,
"description": "Total Credits - Total Debits by month across all accounts"
},
"totalCreditsLessTotalDebitsLessTransfers": {
"type": "number",
"example": 11000,
"description": "Total Credits - Total Debits by month (Without Transfers) across all accounts"
}
}
}
CashFlowMonthlyCashFlowCreditSummaries
{
"type": "object",
"required": [
"month",
"numberOfCredits",
"totalCreditsAmount",
"largestCredit",
"numberOfCreditsLessTransfers",
"totalCreditsAmountLessTransfers",
"averageCreditAmount",
"estimatedNumberOfLoanDeposits",
"estimatedLoanDepositAmount"
],
"properties": {
"month": {
"type": "integer",
"format": "int64",
"example": 1512111600,
"description": "One instance for each complete calendar month in the report"
},
"largestCredit": {
"type": "number",
"example": 3000.49,
"description": "Largest credit by month across all accounts"
},
"numberOfCredits": {
"type": "string",
"example": "57",
"description": "Number of credits by month across all accounts"
},
"totalCreditsAmount": {
"type": "number",
"example": 3479.39,
"description": "Total amount of credits by month across all accounts"
},
"averageCreditAmount": {
"type": "number",
"example": 500,
"description": "The average credit amount"
},
"estimatedLoanDepositAmount": {
"type": "number",
"example": 0,
"description": "The estimated loan deposit amount by month"
},
"numberOfCreditsLessTransfers": {
"type": "string",
"example": "5",
"description": "Number of credits by month (less transfers) across all accounts"
},
"estimatedNumberOfLoanDeposits": {
"type": "string",
"example": "0",
"description": "The estimated number of loan deposits by month"
},
"totalCreditsAmountLessTransfers": {
"type": "number",
"example": 25.46,
"description": "Total amount of credits by month (less transfers) across all accounts"
}
}
}
CashFlowMonthlyCashFlowCredits
{
"type": "object",
"required": [
"month",
"numberOfCredits",
"totalCreditsAmount",
"largestCredit",
"numberOfCreditsLessTransfers",
"totalCreditsAmountLessTransfers",
"averageCreditAmount",
"estimatedNumberOfLoanDeposits",
"estimatedLoanDepositAmount"
],
"properties": {
"month": {
"type": "integer",
"format": "int64",
"example": 1512111600,
"description": "One instance for each complete calendar month in the report"
},
"largestCredit": {
"type": "number",
"example": 2000,
"description": "Largest credit by month"
},
"numberOfCredits": {
"type": "string",
"example": "3",
"description": "Number of credits by month"
},
"totalCreditsAmount": {
"type": "number",
"example": 5000,
"description": "Total amount of credits by month"
},
"averageCreditAmount": {
"type": "number",
"example": 500,
"description": "The average credit amount"
},
"estimatedLoanDepositAmount": {
"type": "number",
"example": 0,
"description": "The estimated loan deposit amount"
},
"numberOfCreditsLessTransfers": {
"type": "string",
"example": "2",
"description": "Number of credits by month (less transfers)"
},
"estimatedNumberOfLoanDeposits": {
"type": "string",
"example": "0",
"description": "The estimated number of loan deposits"
},
"totalCreditsAmountLessTransfers": {
"type": "number",
"example": 4000,
"description": "Total amount of credits by month (less transfers)"
}
}
}
CashFlowMonthlyCashFlowDebitSummaries
{
"type": "object",
"required": [
"month",
"numberOfDebits",
"totalDebitsAmount",
"largestDebit",
"numberOfDebitsLessTransfers",
"totalDebitsAmountLessTransfers",
"averageDebitAmount"
],
"properties": {
"month": {
"type": "integer",
"format": "int64",
"example": 1512111600,
"description": "One instance for each complete calendar month in the report"
},
"largestDebit": {
"type": "number",
"example": -20000,
"description": "Largest Debit by month"
},
"numberOfDebits": {
"type": "string",
"example": "1500",
"description": "Number of Debits by month across all accounts"
},
"totalDebitsAmount": {
"type": "number",
"example": -12345.46,
"description": "Total Amount of Debits by month across all accounts"
},
"averageDebitAmount": {
"type": "number",
"example": 500,
"description": "The average debit amount"
},
"numberOfDebitsLessTransfers": {
"type": "string",
"example": "5",
"description": "Number of Debits by month (less transfers)"
},
"totalDebitsAmountLessTransfers": {
"type": "number",
"example": -2000,
"description": "Total amount of debits by month (less transfers)"
}
}
}
CashFlowMonthlycashflowDebits
{
"type": "object",
"required": [
"month",
"numberOfDebits",
"totalDebitsAmount",
"largestDebit",
"numberOfDebitsLessTransfers",
"totalDebitsAmountLessTransfers",
"averageDebitAmount"
],
"properties": {
"month": {
"type": "integer",
"format": "int64",
"example": 1512111600,
"description": "One instance for each complete calendar month in the report"
},
"largestDebit": {
"type": "number",
"example": -2000,
"description": "Largest Debit by month"
},
"numberOfDebits": {
"type": "string",
"example": "5",
"description": "Number of Debits by month"
},
"totalDebitsAmount": {
"type": "number",
"example": -12345,
"description": "Total Amount of Debits by month"
},
"averageDebitAmount": {
"type": "number",
"example": 500,
"description": "The average debit amount"
},
"numberOfDebitsLessTransfers": {
"type": "string",
"example": "3",
"description": "Number of Debits by month (less transfers)"
},
"totalDebitsAmountLessTransfers": {
"type": "number",
"example": -2000,
"description": "Total amount of debits by month (less transfers)"
}
}
}
CashFlowNegativeTriggers
{
"type": "object",
"properties": {
"insufficientFundFees": {
"$ref": "#/components/schemas/CashFlowInsufficientFundsFees"
}
},
"description": "Transactions that may be warning signs of bad creditworthiness"
}
CashFlowNumWeeksZeros
{
"type": "object",
"required": [
"historicNumberOfWeeksZeroTransactions",
"historicNumberOfWeeksWithDataAvailable",
"historicWeeksWithZeroTransactions"
],
"properties": {
"historicWeeksWithZeroTransactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbWeekOfYear"
},
"description": "List of weeks with zero reported transactions"
},
"historicNumberOfWeeksZeroTransactions": {
"type": "integer",
"example": 5,
"description": "Number of weeks during known history of account where zero transactions were posted"
},
"historicNumberOfWeeksWithDataAvailable": {
"type": "integer",
"example": 10,
"description": "Number of weeks during known history of account in which data was available"
}
},
"description": "Weeks with zero transactions during the known history of the account"
}
CashFlowOutflowAttributes
{
"type": "object",
"required": [
"minimumWithdrawalByMonthForTheReportTimePeriod",
"maximumWithdrawalByMonthForTheReportTimePeriod",
"sumWithdrawalsByMonthForTheReportTimePeriod",
"countWithdrawalsByMonthForTheReportTimePeriod",
"historicCountOfWithdrawalTransactions"
],
"properties": {
"historicSumOfWithdrawals": {
"type": "number",
"example": 925.66,
"description": "Sum of ALL withdrawals over entire known history of the account (may exceed requested length of report)"
},
"historicCountOfWithdrawalTransactions": {
"type": "integer",
"example": 20,
"description": "Count of ALL withdrawals over entire known history of the account (may exceed requested length of report)"
},
"sumWithdrawalsByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Sum of all withdrawals during periods in the report"
},
"countWithdrawalsByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndCount"
},
"description": "Count of all withdrawals during periods in the report"
},
"averageWithdrawalByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Average value of withdrawals during periods in the report"
},
"maximumWithdrawalByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Maximum withdrawal value for different periods in the report"
},
"minimumWithdrawalByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Minimum withdrawal value for different periods in the report"
}
},
"description": "Outflow attributes"
}
CashFlowPossibleLoanDeposits
{
"type": "object",
"required": [
"institutions"
],
"properties": {
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowPossibleLoanDepositsInstitutions"
},
"description": "A list of loan deposit institutions"
}
}
}
CashFlowPossibleLoanDepositsAccount
{
"type": "object",
"required": [
"id",
"ownerName",
"ownerAddress",
"name",
"number",
"type",
"aggregationStatusCode",
"currentBalance",
"availableBalance",
"balanceDate",
"transactions"
],
"properties": {
"id": {
"type": "string",
"example": "6681984",
"description": "Finicity account ID"
},
"name": {
"type": "string",
"example": "Checking",
"description": "The account name from the institution"
},
"type": {
"type": "string",
"example": "checking",
"description": "CFR: `ALL` (`checking` / `savings` / `loan` / `mortgage` / `credit card` / `CD` / `MM` / `investment`...)"
},
"number": {
"type": "string",
"example": "XX1111",
"description": "The account number from the institution (obfuscated)"
},
"ownerName": {
"$ref": "#/components/schemas/ReportAccountOwnerName"
},
"balanceDate": {
"type": "integer",
"format": "int64",
"example": 1614880526,
"description": "A timestamp showing when the `balance` was captured"
},
"ownerAddress": {
"$ref": "#/components/schemas/ReportAccountOwnerAddress"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransaction"
},
"description": "a list of transaction records"
},
"currentBalance": {
"type": "number",
"example": 100000,
"description": "The cleared balance of the account as-of `balanceDate`"
},
"availableBalance": {
"type": "number",
"example": 1000,
"description": "Available balance"
},
"aggregationStatusCode": {
"type": "integer",
"example": 0,
"description": "The status of the most recent aggregation attempt for this account (non-zero means the account was not accessed successfully for this report, and additional fields for this account may not be reliable)"
}
}
}
CashFlowPossibleLoanDepositsInstitutions
{
"type": "object",
"required": [
"id",
"name",
"urlHomeApp",
"accounts"
],
"properties": {
"id": {
"type": "string",
"example": "102105",
"description": "Finicity institution ID"
},
"name": {
"type": "string",
"example": "FinBank Profiles",
"description": "Finicity institution name"
},
"accounts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowPossibleLoanDepositsAccount"
},
"description": "A list of account records"
},
"urlHomeApp": {
"type": "string",
"example": "http://www.finbank.com",
"description": "The URL of the Financial Institution"
}
}
}
CashFlowReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"example": 730,
"description": "Number of days covered by the report"
},
"endDate": {
"$ref": "#/components/schemas/ReportEndDate"
},
"seasoned": {
"type": "boolean",
"example": true,
"description": "\"true\" if the report covers more than 365 days"
},
"startDate": {
"$ref": "#/components/schemas/ReportStartDate"
},
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportInstitution"
},
"description": "A list of institution records, including information about the individual accounts used in this report"
},
"cashFlowDebitSummary": {
"$ref": "#/components/schemas/CashFlowCashFlowDebitSummary"
},
"possibleLoanDeposits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowPossibleLoanDeposits"
},
"description": "A possible loan deposits record"
},
"cashFlowCreditSummary": {
"$ref": "#/components/schemas/CashFlowCashFlowCreditSummary"
},
"cashFlowBalanceSummary": {
"$ref": "#/components/schemas/CashFlowCashFlowBalanceSummary"
},
"cashFlowCharacteristicsSummary": {
"$ref": "#/components/schemas/CashFlowCashFlowCharacteristicsSummary"
}
}
}
],
"description": "A Cash Flow report"
}
CashFlowReportAccount
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 6681984,
"description": "Finicity account ID"
},
"name": {
"type": "string",
"example": "Checking",
"description": "The account name from the institution"
},
"type": {
"type": "string",
"example": "checking",
"description": "CFR: `ALL` (`checking` / `savings` / `loan` / `mortgage` / `credit card` / `CD` / `MM` / `investment`...)"
},
"number": {
"type": "string",
"example": "XX1111",
"description": "The account number from the institution (obfuscated)"
},
"ownerName": {
"$ref": "#/components/schemas/ReportAccountOwnerName"
},
"balanceDate": {
"type": "integer",
"format": "int64",
"example": 1614880526,
"description": "A timestamp showing when the `balance` was captured"
},
"ownerAddress": {
"$ref": "#/components/schemas/ReportAccountOwnerAddress"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransaction"
},
"description": "a list of transaction records"
},
"cashFlowDebit": {
"$ref": "#/components/schemas/CashFlowCashFlowDebit"
},
"cashFlowCredit": {
"$ref": "#/components/schemas/CashFlowCashFlowCredit"
},
"currentBalance": {
"type": "number",
"example": 100000,
"description": "The cleared balance of the account as-of `balanceDate`"
},
"cashFlowBalance": {
"$ref": "#/components/schemas/CashFlowCashFlowBalance"
},
"availableBalance": {
"type": "number",
"example": 1000,
"description": "Available balance"
},
"aggregationStatusCode": {
"type": "integer",
"example": 0,
"description": "The status of the most recent aggregation attempt for this account (non-zero means the account was not accessed successfully for this report, and additional fields for this account may not be reliable)"
},
"cashFlowCharacteristic": {
"$ref": "#/components/schemas/CashFlowCashFlowCharacteristic"
}
}
}
CashFlowReportAck
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAck"
},
{
"type": "object",
"properties": {
"constraints": {
"$ref": "#/components/schemas/CashFlowReportConstraintsOut"
}
}
}
],
"required": [
"id",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"consumerId",
"consumerSsn",
"type",
"status",
"constraints"
]
}
CashFlowReportConstraints
{
"type": "object",
"properties": {
"showNsf": {
"$ref": "#/components/schemas/ShowNsf"
},
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIdsString"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"incomeStreamConfidenceMinimum": {
"$ref": "#/components/schemas/IncomeStreamConfidenceMinimum"
}
}
}
CashFlowReportConstraintsOut
{
"type": "object",
"properties": {
"showNsf": {
"$ref": "#/components/schemas/ShowNsf"
},
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIds"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"incomeStreamConfidenceMinimum": {
"$ref": "#/components/schemas/IncomeStreamConfidenceMinimum"
}
}
}
CashFlowTransactionAnalyticsAttributes
{
"type": "object",
"required": [
"averageTransactionValueByMonthForTheReportTimePeriod",
"activityWithdrawalsDebitsForTheReportTimePeriod",
"activityDepositsCreditsForTheReportTimePeriod"
],
"properties": {
"lastTransactionDate": {
"type": "array",
"items": {
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"example": "2020-03-25",
"description": "Date the deposit transaction was posted"
},
"depositsCredits": {
"type": "number",
"example": 500,
"description": "Amount of transaction if deposit, otherwise null"
},
"withdrawalsDebits": {
"type": "number",
"example": 500,
"description": "Amount of transaction if withdrawal, otherwise null"
},
"zeroAmountTransaction": {
"type": "number",
"example": 0,
"description": "Amount of transaction if zero, otherwise null"
},
"transactionDescription": {
"type": "string",
"example": "VENMO CASHOUT",
"description": "Description of transaction"
}
}
},
"description": "Latest posted transaction(s) to the account. May be more than one if they share the same timestamp"
},
"historicWeeksWithZeroTransactions": {
"$ref": "#/components/schemas/CashFlowNumWeeksZeros"
},
"netCashFlowForTheReportTimePeriod": {
"type": "number",
"example": 1544.94,
"description": "Net cash flow during the report period (may be positive or negative)"
},
"netCashFlowByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Net cash flow for each month during the report period"
},
"activityDepositsCreditsForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowActivityDepositsCredits"
},
"description": "List of all deposit transactions posted to the account during the report period"
},
"activityWithdrawalsDebitsForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CashFlowActivityWithdrawalsDebits"
},
"description": "List of all withdrawal transactions posted to the account during the report period"
},
"averageTransactionValueByMonthForTheReportTimePeriod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbDateRangeAndAmount"
},
"description": "Average value of transactions during periods in the report. Values may be positive or negative"
}
},
"description": "Transaction Analytics Attributes"
}
Categories
{
"type": "string",
"example": "ATM Fee",
"description": "The different categories for transactions.\n* \"ATM Fee\"\n\n* \"Advertising\"\n\n* \"Air Travel\"\n\n* \"Alcohol & Bars\"\n\n* \"Allowance\"\n\n* \"Amusement\"\n\n* \"Arts\"\n\n* \"Auto & Transport\"\n\n* \"Auto Insurance\"\n\n* \"Auto Payment\"\n\n* \"Baby Supplies\"\n\n* \"Babysitter & Daycare\"\n\n* \"Bank Fee\"\n\n* \"Bills & Utilities\"\n\n* \"Bonus\"\n\n* \"Books\"\n\n* \"Books & Supplies\"\n\n* \"Business Services\"\n\n* \"Buy\"\n\n* \"Cash & ATM\"\n\n* \"Charity\"\n\n* \"Check\"\n\n* \"Child Support\"\n\n* \"Clothing\"\n\n* \"Coffee Shops\"\n\n* \"Credit Card Payment\"\n\n* \"Dentist\"\n\n* \"Deposit\"\n\n* \"Dividend & Cap Gains\"\n\n* \"Doctor\"\n\n* \"Education\"\n\n* \"Electronics & Software\"\n\n* \"Entertainment\"\n\n* \"Eyecare\"\n\n* \"Fast Food\"\n\n* \"Federal Tax\"\n\n* \"Fees & Charges\"\n\n* \"Finance Charge\"\n\n* \"Financial\"\n\n* \"Financial Advisor\"\n\n* \"Food & Dining\"\n\n* \"Furnishings\"\n\n* \"Gas & Fuel\"\n\n* \"Gift\"\n\n* \"Gifts & Donations\"\n\n* \"Groceries\"\n\n* \"Gym\"\n\n* \"Hair\"\n\n* \"Health & Fitness\"\n\n* \"Health Insurance\"\n\n* \"Hobbies\"\n\n* \"Home\"\n\n* \"Home Improvement\"\n\n* \"Home Insurance\"\n\n* \"Home Phone\"\n\n* \"Home Services\"\n\n* \"Home Supplies\"\n\n* \"Hotel\"\n\n* \"Income\"\n\n* \"Interest Income\"\n\n* \"Internet\"\n\n* \"Investments\"\n\n* \"Kids\"\n\n* \"Kids Activities\"\n\n* \"Late Fee\"\n\n* \"Laundry\"\n\n* \"Lawn & Garden\"\n\n* \"Legal\"\n\n* \"Life Insurance\"\n\n* \"Loan Fees and Charges\"\n\n* \"Loan Insurance\"\n\n* \"Loan Interest\"\n\n* \"Loan Payment\"\n\n* \"Loan Principal\"\n\n* \"Loans\"\n\n* \"Local Tax\"\n\n* \"Low Balance\"\n\n* \"Mobile Phone\"\n\n* \"Mortgage & Rent\"\n\n* \"Movies & DVDs\"\n\n* \"Music\"\n\n* \"Newspapers & Magazines\"\n\n* \"Office Supplies\"\n\n* \"Parking\"\n\n* \"Paycheck\"\n\n* \"Personal Care\"\n\n* \"Pet Food & Supplies\"\n\n* \"Pet Grooming\"\n\n* \"Pets\"\n\n* \"Pharmacy\"\n\n* \"Printing\"\n\n* \"Property Tax\"\n\n* \"Public Transportation\"\n\n* \"Reimbursement\"\n\n* \"Rental Car & Taxi\"\n\n* \"Restaurants\"\n\n* \"Sales Tax\"\n\n* \"Sell\"\n\n* \"Service & Parts\"\n\n* \"Service Fee\"\n\n* \"Shipping\"\n\n* \"Shopping\"\n\n* \"Spa & Massage\"\n\n* \"Sporting Goods\"\n\n* \"Sports\"\n\n* \"State Tax\"\n\n* \"Streaming Services\"\n\n* \"Student Loan\"\n\n* \"Taxes\"\n\n* \"Television\"\n\n* \"Toys\"\n\n* \"Trade Commissions\"\n\n* \"Transfer\"\n\n* \"Transfer for Cash Spending\"\n\n* \"Travel\"\n\n* \"Tuition\"\n\n* \"Uncategorized\"\n\n* \"Utilities\"\n\n* \"Vacation\"\n\n* \"Veterinary\"\n\n* \"Internet / Broadband Charges\""
}
Categorization
{
"type": "object",
"required": [
"normalizedPayeeName",
"category",
"country"
],
"properties": {
"city": {
"$ref": "#/components/schemas/City"
},
"state": {
"$ref": "#/components/schemas/State"
},
"country": {
"$ref": "#/components/schemas/Country"
},
"category": {
"$ref": "#/components/schemas/Categories"
},
"postalCode": {
"$ref": "#/components/schemas/ZipCode"
},
"bestRepresentation": {
"type": "string",
"example": "VERIZON WIRELESS PAYMENTS",
"description": "Combines the `description` and `memo` data together, removing duplicated information and numbers and special characters"
},
"normalizedPayeeName": {
"type": "string",
"example": "Mad Science Research",
"description": "A normalized payee, derived from the transaction's description and memo fields"
}
},
"description": "Categorization Record"
}
CertifiedInstitution
{
"type": "object",
"required": [
"name",
"id",
"transAgg",
"ach",
"stateAgg",
"voi",
"voa",
"aha",
"availBalance",
"accountOwner",
"loanPaymentDetails",
"studentLoanData"
],
"properties": {
"id": {
"$ref": "#/components/schemas/NumericInstitutionId"
},
"ach": {
"$ref": "#/components/schemas/InstitutionAch"
},
"aha": {
"$ref": "#/components/schemas/InstitutionAha"
},
"voa": {
"$ref": "#/components/schemas/InstitutionVoa"
},
"voi": {
"$ref": "#/components/schemas/InstitutionVoi"
},
"name": {
"$ref": "#/components/schemas/InstitutionName"
},
"rssd": {
"$ref": "#/components/schemas/Rssd"
},
"stateAgg": {
"$ref": "#/components/schemas/InstitutionStateAgg"
},
"transAgg": {
"$ref": "#/components/schemas/InstitutionTransAgg"
},
"accountOwner": {
"$ref": "#/components/schemas/InstitutionAccountOwner"
},
"availBalance": {
"$ref": "#/components/schemas/InstitutionAvailableBalance"
},
"studentLoanData": {
"$ref": "#/components/schemas/StudentLoanDataCertification"
},
"childInstitutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChildInstitution"
},
"minItems": 0,
"description": "An array of child financial institutions"
},
"loanPaymentDetails": {
"$ref": "#/components/schemas/LoanPaymentDetailCertification"
}
}
}
CertifiedInstitutions
{
"type": "object",
"required": [
"found",
"displaying",
"moreAvailable",
"requestedDate",
"institutions"
],
"properties": {
"found": {
"$ref": "#/components/schemas/FoundResults"
},
"displaying": {
"$ref": "#/components/schemas/DisplayingResults"
},
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CertifiedInstitution"
},
"maxItems": 1000,
"minItems": 0,
"description": "A list of institutions"
},
"moreAvailable": {
"$ref": "#/components/schemas/MoreResultsAvailable"
},
"requestedDate": {
"$ref": "#/components/schemas/UnixDate"
}
},
"description": "A list of financial institutions from the Get Certified Institutions API"
}
ChildInstitution
{
"type": "object",
"required": [
"rssd",
"parentRSSD",
"name",
"institutionId"
],
"properties": {
"name": {
"$ref": "#/components/schemas/InstitutionName"
},
"rssd": {
"$ref": "#/components/schemas/Rssd"
},
"parentRSSD": {
"$ref": "#/components/schemas/Rssd"
},
"institutionId": {
"$ref": "#/components/schemas/NumericInstitutionId"
}
}
}
City
{
"type": "string",
"example": "Murray",
"description": "City"
}
ClassificationConfidenceScore
{
"type": "number",
"example": 100,
"description": "The confidence score 0-100 of the name classification."
}
ConnectEmailParameters
{
"type": "object",
"required": [
"partnerId",
"customerId",
"consumerId",
"email"
],
"properties": {
"email": {
"$ref": "#/components/schemas/EmailOptions"
},
"webhook": {
"$ref": "#/components/schemas/Webhook"
},
"fromDate": {
"$ref": "#/components/schemas/ConnectFromDate"
},
"language": {
"$ref": "#/components/schemas/ConnectLanguage"
},
"partnerId": {
"$ref": "#/components/schemas/PartnerId"
},
"consumerId": {
"$ref": "#/components/schemas/ConsumerId"
},
"customerId": {
"$ref": "#/components/schemas/CustomerId"
},
"experience": {
"$ref": "#/components/schemas/Experience"
},
"redirectUri": {
"$ref": "#/components/schemas/RedirectUri"
},
"webhookData": {
"$ref": "#/components/schemas/WebhookData"
},
"singleUseUrl": {
"$ref": "#/components/schemas/SingleUseUrl"
},
"webhookHeaders": {
"$ref": "#/components/schemas/WebhookHeaders"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"webhookContentType": {
"$ref": "#/components/schemas/WebhookContentType"
},
"institutionSettings": {
"$ref": "#/components/schemas/InstitutionSettings"
},
"optionalConsumerInfo": {
"$ref": "#/components/schemas/ConsumerInfo"
}
}
}
ConnectEmailUrl
{
"type": "object",
"required": [
"link",
"emailConfig"
],
"properties": {
"link": {
"$ref": "#/components/schemas/ConnectLink"
},
"emailConfig": {
"$ref": "#/components/schemas/EmailOptions"
}
}
}
ConnectFromDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "The `fromDate` parameter is used when experiences are associated with a credit decisioning report and any other reports with transaction data. The value is in epoch time and must be 10 digits. Example: 1494449017. If it's greater than 10 digits, then the `fromDate` is set to the credit decisioning report's default `fromDate`.\n\nFor an experience that generates multiple reports, the `fromDate` gets passed to the reports that support it.\n\nHowever, Connect doesn't pass this parameter to the following reports:\n* Pay Statement Extraction Report \n* VOIE - Paystub (with TXVerify) Report \n* Statement Report \n* Verification of Income Report \n* VOIE - Payroll Report \n\nNote: this field isn't used if you're only collecting transaction data without a report."
}
ConnectJointBorrowerEmailParameters
{
"type": "object",
"required": [
"partnerId",
"borrowers",
"email",
"experience"
],
"properties": {
"email": {
"$ref": "#/components/schemas/EmailOptions"
},
"webhook": {
"$ref": "#/components/schemas/Webhook"
},
"fromDate": {
"$ref": "#/components/schemas/ConnectFromDate"
},
"language": {
"$ref": "#/components/schemas/ConnectLanguage"
},
"borrowers": {
"$ref": "#/components/schemas/Borrowers"
},
"partnerId": {
"$ref": "#/components/schemas/PartnerId"
},
"experience": {
"$ref": "#/components/schemas/Experience"
},
"redirectUri": {
"$ref": "#/components/schemas/RedirectUri"
},
"webhookData": {
"$ref": "#/components/schemas/WebhookData"
},
"singleUseUrl": {
"$ref": "#/components/schemas/SingleUseUrl"
},
"webhookHeaders": {
"$ref": "#/components/schemas/WebhookHeaders"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"webhookContentType": {
"$ref": "#/components/schemas/WebhookContentType"
},
"institutionSettings": {
"$ref": "#/components/schemas/InstitutionSettings"
}
}
}
ConnectJointBorrowerParameters
{
"type": "object",
"required": [
"partnerId",
"borrowers"
],
"properties": {
"webhook": {
"$ref": "#/components/schemas/Webhook"
},
"fromDate": {
"$ref": "#/components/schemas/ConnectFromDate"
},
"language": {
"$ref": "#/components/schemas/ConnectLanguage"
},
"borrowers": {
"$ref": "#/components/schemas/Borrowers"
},
"partnerId": {
"$ref": "#/components/schemas/PartnerId"
},
"experience": {
"$ref": "#/components/schemas/Experience"
},
"redirectUri": {
"$ref": "#/components/schemas/RedirectUri"
},
"webhookData": {
"$ref": "#/components/schemas/WebhookData"
},
"singleUseUrl": {
"$ref": "#/components/schemas/SingleUseUrl"
},
"webhookHeaders": {
"$ref": "#/components/schemas/WebhookHeaders"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"webhookContentType": {
"$ref": "#/components/schemas/WebhookContentType"
},
"institutionSettings": {
"$ref": "#/components/schemas/InstitutionSettings"
}
}
}
ConnectLanguage
{
"type": "string",
"example": "es",
"description": "By default, the Connect application is in English. You don't need to pass this parameter unless\nyou want to translate Connect into one of our supported languages.\n\n* Spanish (United States): `es`\n* French (Canada): `fr`\n"
}
ConnectLink
{
"type": "string",
"example": "https://connect2.finicity.com?customerId=5025024821&institutionId=102105&origin=url&partnerId=2445583925753&signature=b5667164db7a9a0007b59267785c996ca3bc9ce97f2e72c98099cead76edfad9×tamp=1648050761908&ttl=1648057961908&type=lite&webhookContentType=application%2Fjson",
"description": "A generated Connect URL"
}
ConnectParameters
{
"type": "object",
"required": [
"partnerId",
"customerId"
],
"properties": {
"webhook": {
"$ref": "#/components/schemas/Webhook"
},
"fromDate": {
"$ref": "#/components/schemas/ConnectFromDate"
},
"language": {
"$ref": "#/components/schemas/ConnectLanguage"
},
"isWebView": {
"$ref": "#/components/schemas/IsWebView"
},
"partnerId": {
"$ref": "#/components/schemas/PartnerId"
},
"consumerId": {
"$ref": "#/components/schemas/ConsumerId"
},
"customerId": {
"$ref": "#/components/schemas/CustomerId"
},
"experience": {
"$ref": "#/components/schemas/Experience"
},
"redirectUri": {
"$ref": "#/components/schemas/RedirectUri"
},
"webhookData": {
"$ref": "#/components/schemas/WebhookData"
},
"singleUseUrl": {
"$ref": "#/components/schemas/SingleUseUrl"
},
"webhookHeaders": {
"$ref": "#/components/schemas/WebhookHeaders"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"webhookContentType": {
"$ref": "#/components/schemas/WebhookContentType"
},
"institutionSettings": {
"$ref": "#/components/schemas/InstitutionSettings"
},
"optionalConsumerInfo": {
"$ref": "#/components/schemas/ConsumerInfo"
}
}
}
ConnectUrl
{
"type": "object",
"required": [
"link"
],
"properties": {
"link": {
"$ref": "#/components/schemas/ConnectLink"
}
},
"description": "A Connect URL object"
}
ConsentReceiptId
{
"type": "string",
"example": "cr_4pfI3r1X8aOHrDDwrwC01NHFxOXlT1",
"description": "Third party access key receipt ID. Generated by generate third party access key API."
}
Consumer
{
"type": "object",
"required": [
"id",
"firstName",
"lastName",
"customerId",
"address",
"city",
"state",
"zip",
"phone",
"ssn",
"birthday",
"email",
"createdDate"
],
"properties": {
"id": {
"$ref": "#/components/schemas/ConsumerId"
},
"ssn": {
"$ref": "#/components/schemas/SocialSecurityNumberLastDigits"
},
"zip": {
"$ref": "#/components/schemas/ZipCode"
},
"city": {
"$ref": "#/components/schemas/City"
},
"email": {
"$ref": "#/components/schemas/EmailAddress"
},
"phone": {
"$ref": "#/components/schemas/PhoneNumber"
},
"state": {
"$ref": "#/components/schemas/State"
},
"suffix": {
"$ref": "#/components/schemas/Suffix"
},
"address": {
"$ref": "#/components/schemas/Address"
},
"birthday": {
"$ref": "#/components/schemas/Birthday"
},
"lastName": {
"$ref": "#/components/schemas/LastName"
},
"firstName": {
"$ref": "#/components/schemas/FirstName"
},
"customerId": {
"$ref": "#/components/schemas/NumericCustomerId"
},
"createdDate": {
"$ref": "#/components/schemas/UnixDate"
}
},
"description": "A finicity consumer record"
}
ConsumerDateOfBirth
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "The consumer's date of birth in Unix epoch time (in seconds). See: Handling Epoch Dates and Times. The timestamp should be set at the start of day of birth."
}
ConsumerId
{
"type": "string",
"example": "0bf46322c167b562e6cbed9d40e19a4c",
"description": "A consumer ID. See Create Consumer API for how to create a consumer ID."
}
ConsumerInfo
{
"type": "object",
"required": [
"ssn"
],
"properties": {
"dob": {
"$ref": "#/components/schemas/ConsumerDateOfBirth"
},
"ssn": {
"$ref": "#/components/schemas/SocialSecurityNumberNoHyphens"
}
},
"description": "The SSN and date of birth of a consumer"
}
ConsumerUpdate
{
"type": "object",
"properties": {
"ssn": {
"$ref": "#/components/schemas/SocialSecurityNumber"
},
"zip": {
"$ref": "#/components/schemas/ZipCode"
},
"city": {
"$ref": "#/components/schemas/City"
},
"email": {
"$ref": "#/components/schemas/EmailAddress"
},
"phone": {
"$ref": "#/components/schemas/PhoneNumber"
},
"state": {
"$ref": "#/components/schemas/State"
},
"suffix": {
"$ref": "#/components/schemas/Suffix"
},
"address": {
"$ref": "#/components/schemas/Address"
},
"birthday": {
"$ref": "#/components/schemas/Birthday"
},
"lastName": {
"$ref": "#/components/schemas/LastName"
},
"firstName": {
"$ref": "#/components/schemas/FirstName"
}
}
}
ConvertToRepayment
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Student Loan) The date the loan enters into repayment. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
Country
{
"type": "string",
"example": "USA",
"description": "Country code is Iso3166-1 Alpha-2 code and Alpha 3 standard (max length 3)."
}
CountryCode
{
"type": "string",
"example": "US",
"maxLength": 2,
"minLength": 2,
"description": "Two-letter ISO 3166-1 alpha-2 country code"
}
CountryCodeNumber
{
"type": "string",
"example": "1",
"maxLength": 3,
"minLength": 1,
"description": "The country code digit representing the phone number for specific country"
}
CreatedConsumer
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/ConsumerId"
},
"customerId": {
"$ref": "#/components/schemas/NumericCustomerId"
},
"createdDate": {
"$ref": "#/components/schemas/UnixDate"
}
},
"description": "A consumer that was just created"
}
CreatedCustomer
{
"type": "object",
"required": [
"id",
"username",
"createdDate"
],
"properties": {
"id": {
"$ref": "#/components/schemas/CustomerId"
},
"username": {
"$ref": "#/components/schemas/CustomerUsername"
},
"createdDate": {
"$ref": "#/components/schemas/UnixDate"
}
},
"description": "A new customer that was just enrolled"
}
CreatedTestTxPushTransaction
{
"type": "object",
"required": [
"id",
"createdDate"
],
"properties": {
"id": {
"$ref": "#/components/schemas/TransactionId"
},
"createdDate": {
"$ref": "#/components/schemas/UnixDate"
}
},
"description": "Response for TxPush test transaction"
}
Currency
{
"type": "string",
"example": "USD",
"description": "A currency code"
}
Customer
{
"type": "object",
"required": [
"id",
"username",
"type",
"createdDate"
],
"properties": {
"id": {
"$ref": "#/components/schemas/CustomerId"
},
"type": {
"$ref": "#/components/schemas/CustomerType"
},
"lastName": {
"$ref": "#/components/schemas/LastName"
},
"username": {
"$ref": "#/components/schemas/CustomerUsername"
},
"firstName": {
"$ref": "#/components/schemas/FirstName"
},
"createdDate": {
"$ref": "#/components/schemas/StringUnixDate"
},
"lastModifiedDate": {
"$ref": "#/components/schemas/StringUnixDate"
}
},
"description": "A finicity customer record"
}
CustomerAccount
{
"type": "object",
"required": [
"id",
"accountNumberDisplay",
"name",
"accountNickname",
"number",
"type",
"status",
"customerId",
"institutionId",
"createdDate",
"currency",
"institutionLoginId"
],
"properties": {
"id": {
"$ref": "#/components/schemas/AccountId"
},
"name": {
"$ref": "#/components/schemas/Name"
},
"type": {
"$ref": "#/components/schemas/AccountType"
},
"detail": {
"$ref": "#/components/schemas/CustomerAccountDetail"
},
"number": {
"type": "string",
"example": "2000004444",
"deprecated": true,
"description": "The account number from the institution"
},
"status": {
"$ref": "#/components/schemas/AggregationStatus"
},
"balance": {
"type": "number",
"example": 401.26,
"description": "The cleared balance of the account as of `balanceDate`"
},
"currency": {
"$ref": "#/components/schemas/Currency"
},
"position": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomerAccountPosition"
},
"description": "Investment holdings"
},
"customerId": {
"$ref": "#/components/schemas/CustomerId"
},
"balanceDate": {
"$ref": "#/components/schemas/CustomerAccountBalanceDate"
},
"createdDate": {
"$ref": "#/components/schemas/CustomerAccountCreatedDate"
},
"institutionId": {
"$ref": "#/components/schemas/InstitutionId"
},
"marketSegment": {
"$ref": "#/components/schemas/CustomerAccountMarketSegment"
},
"parentAccount": {
"$ref": "#/components/schemas/CustomerAccountParentAccountId"
},
"displayPosition": {
"$ref": "#/components/schemas/DisplayPosition"
},
"lastUpdatedDate": {
"$ref": "#/components/schemas/CustomerLastUpdatedDate"
},
"institutionLoginId": {
"$ref": "#/components/schemas/NumericInstitutionLoginId"
},
"lastTransactionDate": {
"$ref": "#/components/schemas/CustomerAccountLastTransactionDate"
},
"accountNumberDisplay": {
"$ref": "#/components/schemas/AccountNumberDisplay"
},
"aggregationStatusCode": {
"$ref": "#/components/schemas/AggregationStatusCode"
},
"oldestTransactionDate": {
"$ref": "#/components/schemas/CustomerAccountOldestTransactionDate"
},
"aggregationAttemptDate": {
"$ref": "#/components/schemas/CustomerAccountAggregationAttemptDate"
},
"aggregationSuccessDate": {
"$ref": "#/components/schemas/CustomerAccountAggregationSuccessDate"
},
"realAccountNumberLast4": {
"$ref": "#/components/schemas/AccountNumberLast4"
}
},
"description": "An account represents a bank account such as a checking or savings that the customer has added via the Connect interface."
}
CustomerAccountAggregationAttemptDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A timestamp showing the last aggregation attempt, whether successful or not. This will not be present until you have run your first aggregation for the account. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
CustomerAccountAggregationSuccessDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A timestamp showing the last successful aggregation of the account. This will not be present until you have run your first aggregation for the account. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
CustomerAccountBalanceDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A timestamp showing when the balance was captured. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
CustomerAccountCreatedDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A timestamp showing when the account was added to the system. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
CustomerAccountDetail
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"example": "FinBank",
"description": "(Student Loan) Owner of the loan"
},
"lender": {
"type": "string",
"example": "utah community credit union",
"description": "(Mortgage/Loan) Owner of loan"
},
"buyPower": {
"type": "number",
"example": 34567.89,
"description": "(Investment) Money available to buy securities"
},
"dateAsOf": {
"$ref": "#/components/schemas/DateAsOf"
},
"loanRate": {
"type": "number",
"example": 3.275,
"description": "(Investment) Interest rate of loan"
},
"openDate": {
"$ref": "#/components/schemas/OpenDate"
},
"termOfMl": {
"type": "string",
"example": "36",
"description": "(Mortgage/Loan) Length of loan in months"
},
"guarantor": {
"type": "string",
"example": "FinBank",
"description": "(Student Loan) The financial institution guarantor of the loan (who will pay the loan amount to the owner if the borrower defaults)"
},
"collateral": {
"type": "string",
"example": "nissan sentra",
"description": "(Mortgage/Loan) Collateral on loan"
},
"loanStatus": {
"type": "string",
"example": "Deferment",
"description": "(Student Loan) The repayment status phase (i.e. In School, Grace, Repayment, Deferment, Forbearance)"
},
"ytdTaxPaid": {
"type": "number",
"example": 1489,
"description": "(Mortgage/Loan) Tax paid year-to-date"
},
"description": {
"type": "string",
"example": "a description",
"description": "(Mortgage/Loan) Description of loan"
},
"feesBalance": {
"type": "number",
"example": 150,
"description": "(Student Loan) The total outstanding fees balance"
},
"loanAwardId": {
"type": "string",
"example": "1234568",
"description": "(Student Loan) The federal unique loan identifying number"
},
"matchAmount": {
"type": "number",
"example": 378,
"description": "(Investment) Amount matched"
},
"nextPayment": {
"type": "number",
"example": 1578,
"description": "(Mortgage/Loan) Minimum payment due"
},
"rolloverLtd": {
"type": "number",
"example": 23456.78,
"description": "(Investment) Life to date of money rolled over"
},
"interestRate": {
"type": "string",
"example": "15.789",
"description": "(Credit Card/Line Of Credit) and (Mortgage/Loan) The account's current interest rate"
},
"loanTermType": {
"type": "string",
"example": "fixed",
"description": "(Mortgage/Loan) Type of loan term"
},
"maturityDate": {
"$ref": "#/components/schemas/MaturityDate"
},
"mlHolderName": {
"type": "string",
"example": "John Smith",
"description": "(Mortgage/Loan) Holder of the mortgage or loan"
},
"paymentsMade": {
"type": "integer",
"format": "int32",
"example": 14,
"description": "(Mortgage/Loan) Number of payments made"
},
"payoffAmount": {
"type": "number",
"example": 45567.98,
"description": "(Mortgage/Loan) The amount required to payoff the loan"
},
"preTaxAmount": {
"type": "number",
"example": 78564.99,
"description": "(Investment) Pre-tax amount of total balance"
},
"shortBalance": {
"type": "number",
"example": 12456.89,
"description": "(Investment) Sum of short balance"
},
"balloonAmount": {
"type": "number",
"example": 1678.56,
"description": "(Mortgage/Loan) Balloon payment amount"
},
"currentSchool": {
"type": "string",
"example": "utah valley university",
"description": "(Mortgage/Loan) Current school"
},
"escrowBalance": {
"type": "number",
"example": 2345.01,
"description": "(Mortgage/Loan) The escrow balance"
},
"firstMortgage": {
"type": "boolean",
"example": true,
"description": "(Mortgage/Loan) First mortgage (F/Y)"
},
"initialMlDate": {
"$ref": "#/components/schemas/InitialMlDate"
},
"lateFeeAmount": {
"type": "number",
"example": 35,
"description": "(Mortgage/Loan) Late fee charged"
},
"marginAllowed": {
"type": "boolean",
"example": true,
"description": "Margin trading indicator (true / false)"
},
"marginBalance": {
"type": "number",
"example": 456,
"description": "(Investment) Net interest earned after deducting interest paid out"
},
"pastDueAmount": {
"type": "number",
"example": 3688.99,
"description": "(Credit Card/Line Of Credit) Balance past due"
},
"periodEndDate": {
"$ref": "#/components/schemas/PeriodEndDate"
},
"repaymentPlan": {
"type": "string",
"example": "Standard, Graduated, Extended, Pay As You Earn, and more.",
"description": "(Mortgage/Loan) Type of repayment plan for the student loan"
},
"vestedBalance": {
"type": "number",
"example": 45000,
"description": "(Investment) Vested amount in account"
},
"afterTaxAmount": {
"type": "number",
"example": 68564.99,
"description": "(Investment) After-tax amount of total balance"
},
"currentBalance": {
"type": "number",
"example": 5789.34,
"description": "(Credit Card/Line Of Credit) and (Investment) Current balance"
},
"daysDelinquent": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "(Student Loan) The number of days past a due date that a payment should have been made"
},
"empMatchAmount": {
"type": "number",
"example": 256.99,
"description": "(Investment) Employer matched contributions"
},
"interestPeriod": {
"type": "string",
"example": "monthly",
"description": "(Mortgage/Loan) Period of interest"
},
"originalSchool": {
"type": "string",
"example": "Brigham young university",
"description": "(Mortgage/Loan) Original school"
},
"paymentDueDate": {
"$ref": "#/components/schemas/PaymentDueDate"
},
"rolloverAmount": {
"type": "number",
"example": 101234.67,
"description": "(Investment) Amount of balance rolled over from original account (401k, etc.)"
},
"autoPayEnrolled": {
"type": "boolean",
"example": true,
"description": "(Mortgage/Loan) Enrolled in autopay (F/Y)"
},
"contribTotalYtd": {
"type": "number",
"example": 2045,
"description": "(Investment) Total year to date contributions"
},
"creditMaxAmount": {
"type": "number",
"example": 7000,
"description": "(Credit Card/Line Of Credit) The account's credit limit"
},
"initialMlAmount": {
"type": "number",
"example": 65000,
"description": "(Mortgage/Loan) Original loan amount"
},
"interestBalance": {
"type": "number",
"example": 2000,
"description": "(Student Loan) The total outstanding interest balance"
},
"interestPaidLtd": {
"type": "number",
"example": 56789.34,
"description": "(Mortgage/Loan) Interest paid since inception of loan (life to date)"
},
"lastPaymentDate": {
"$ref": "#/components/schemas/LastPaymentDate"
},
"loanPaymentFreq": {
"type": "string",
"example": "monthly",
"description": "(Mortgage/Loan) Frequency of payments (monthly, etc.)"
},
"loanPaymentType": {
"type": "string",
"example": "principle",
"description": "(Mortgage/Loan) Type of loan payment"
},
"loanYtdFeesPaid": {
"type": "number",
"example": 5621.23,
"description": "(Student Loan) Loan fees paid year-to-date"
},
"nextPaymentDate": {
"$ref": "#/components/schemas/NextPaymentDate"
},
"otherVestAmount": {
"type": "number",
"example": 34000,
"description": "(Investment) Other vested amount"
},
"outOfSchoolDate": {
"$ref": "#/components/schemas/OutOfSchoolDate"
},
"periodStartDate": {
"$ref": "#/components/schemas/PeriodStartDate"
},
"previousBalance": {
"type": "number",
"example": 1234.56,
"description": "(Credit Card/Line Of Credit) Prior balance in last statement"
},
"totalAmountPaid": {
"type": "number",
"example": 16125,
"description": "(Student Loan) The total amount paid"
},
"ytdInterestPaid": {
"type": "number",
"example": 3948.56,
"description": "(Mortgage/Loan) Interest paid year-to-date"
},
"firstPaymentDate": {
"$ref": "#/components/schemas/FirstPaymentDate"
},
"interestRateType": {
"type": "string",
"example": "variable",
"description": "(Mortgage/Loan) Type of interest rate"
},
"paymentMinAmount": {
"type": "number",
"example": 456.78,
"description": "(Credit Card/Line Of Credit) and (Mortgage/Loan) Minimum payment due"
},
"payoffAmountDate": {
"$ref": "#/components/schemas/PayoffAmountDate"
},
"principalBalance": {
"type": "number",
"example": 45056.7,
"description": "(Mortgage/Loan) The principal balance"
},
"statementEndDate": {
"$ref": "#/components/schemas/StatementEndDate"
},
"ytdInsurancePaid": {
"type": "number",
"example": 1345.89,
"description": "(Mortgage/Loan) Insurance paid year-to-date"
},
"ytdPrincipalPaid": {
"type": "number",
"example": 5432.01,
"description": "(Mortgage/Loan) Principal paid year-to-date"
},
"cashBalanceAmount": {
"type": "number",
"example": 2000,
"description": "(Investment) Cash balance of account"
},
"interestYtdAmount": {
"type": "number",
"example": 1056.67,
"description": "(Checking/Savings/CD/MoneyMarket) Interest accrued year-to-date"
},
"lastPaymentAmount": {
"type": "number",
"example": 567.89,
"description": "(Credit Card/Line Of Credit) and (Mortgage/Loan) The amount received in the last payment"
},
"loanStatusEndDate": {
"$ref": "#/components/schemas/LoanStatusEndDate"
},
"paymentsRemaining": {
"type": "integer",
"format": "int32",
"example": 45,
"description": "(Mortgage/Loan) Number of payments remaining before loan is paid off"
},
"projectedInterest": {
"type": "number",
"example": 10456.78,
"description": "(Mortgage/Loan) Projected interest on the loan"
},
"remainingTermOfMl": {
"type": "number",
"example": 2,
"description": "(Student Loan) The number of months still outstanding on a loan"
},
"totalInterestPaid": {
"type": "number",
"example": 1125,
"description": "(Student Loan) The total amount paid towards interest"
},
"cashAccountAllowed": {
"type": "boolean",
"example": true,
"description": "Cash account allowed indicator (true / false)"
},
"cashAdvanceBalance": {
"type": "number",
"example": 1000,
"description": "(Credit Card/Line Of Credit) Balance of current cash advance"
},
"convertToRepayment": {
"$ref": "#/components/schemas/ConvertToRepayment"
},
"currentLoanBalance": {
"type": "number",
"example": 345789.23,
"description": "(Investment) Current loan balance"
},
"expectedPayoffDate": {
"$ref": "#/components/schemas/ExpectedPayoffDate"
},
"lastPaymentDueDate": {
"$ref": "#/components/schemas/LastPaymentDueDate"
},
"otherNonvestAmount": {
"type": "number",
"example": 26000,
"description": "(Investment) Other nonvested amount"
},
"periodInterestRate": {
"type": "number",
"example": 13.245,
"description": "(Checking/Savings/CD/MoneyMarket) The APY for the current period interest rate"
},
"statementStartDate": {
"$ref": "#/components/schemas/StatementStartDate"
},
"totalPrincipalPaid": {
"type": "number",
"example": 15000,
"description": "(Student Loan) The total amount paid towards the principal balance"
},
"endingBalanceAmount": {
"type": "number",
"example": 234789.45,
"description": "(Mortgage/Loan) Ending balance"
},
"initialInterestRate": {
"type": "number",
"example": 34567.89,
"description": "(Student Loan) Initial interest rate of loan"
},
"interestSubsidyType": {
"type": "string",
"example": "Subsidy type",
"description": "(Student Loan) The indication of the presence of an interest subsidy (i.e. subsidized)"
},
"loanStatusStartDate": {
"$ref": "#/components/schemas/LoanStatusStartDate"
},
"loanYtdInterestPaid": {
"type": "number",
"example": 5623.23,
"description": "(Student Loan) Loan interest paid year-to-date"
},
"maturityValueAmount": {
"type": "number",
"example": 34067.78,
"description": "(Investment) amount payable to an investor at maturity"
},
"periodDepositAmount": {
"type": "number",
"example": 2356.56,
"description": "(Checking/Savings/CD/MoneyMarket) Amount deposited in period"
},
"profitSharingAmount": {
"type": "number",
"example": 34678.89,
"description": "(Investment) Amount of balance for profit sharing"
},
"rewardEarnedBalance": {
"type": "integer",
"format": "int32",
"example": 500,
"description": "(Credit Card/Line Of Credit) Earned reward balance"
},
"availableCashBalance": {
"type": "number",
"example": 3456.78,
"description": "(Investment) Amount available for cash withdrawal"
},
"cashAdvanceMaxAmount": {
"type": "number",
"example": 3000,
"description": "(Credit Card/Line Of Credit) Maximum cash advance amount"
},
"loanYtdPrincipalPaid": {
"type": "number",
"example": 5621.23,
"description": "(Student Loan) Loan principal paid year-to-date"
},
"originalInterestRate": {
"type": "number",
"example": 12,
"description": "(Student Loan) The original interest rate to which the loan was disbursed, in APY"
},
"originalMaturityDate": {
"$ref": "#/components/schemas/OriginalMaturityDate"
},
"periodInterestAmount": {
"type": "number",
"example": 1234.56,
"description": "(Checking/Savings/CD/MoneyMarket) Interest accrued during the current period"
},
"repaymentPlanEndDate": {
"$ref": "#/components/schemas/RepaymentPlanEndDate"
},
"weightedInterestRate": {
"type": "number",
"example": 12,
"description": "(Student Loan) The interest rate of multiple interest rates and balances at the group level, in APY"
},
"creditAvailableAmount": {
"type": "number",
"example": 3000,
"description": "(Credit Card/Line Of Credit) The available credit (typically the credit limit minus the current balance)"
},
"lastPaymentLateCharge": {
"type": "number",
"example": 50,
"description": "(Mortgage/Loan) Amount of late charge in last payment"
},
"statementCloseBalance": {
"type": "number",
"example": 2456.69,
"description": "(Credit Card/Line Of Credit) Balance of statement at close"
},
"statementCreditAmount": {
"type": "number",
"example": 345,
"description": "(Credit Card/Line Of Credit) Credit amount applied in statement period"
},
"availableBalanceAmount": {
"type": "number",
"example": 5678.78,
"description": "(Checking/Savings/CD/MoneyMarket) and (Mortgage/Loan) The available balance (typically the current balance with adjustments for any pending transactions)"
},
"empPretaxContribAmount": {
"type": "number",
"example": 450,
"description": "(Investment) Employer pretax contribution amount"
},
"interestPriorYtdAmount": {
"type": "number",
"example": 3056.79,
"description": "(Checking/Savings/CD/MoneyMarket) Interest earned in prior year"
},
"lastPaymentReceiveDate": {
"$ref": "#/components/schemas/LastPaymentReceiveDate"
},
"recurringPaymentAmount": {
"type": "number",
"example": 456.23,
"description": "(Mortgage/Loan) Recurring payment amount"
},
"repaymentPlanStartDate": {
"$ref": "#/components/schemas/RepaymentPlanStartDate"
},
"statementFinanceAmount": {
"type": "number",
"example": 156.78,
"description": "(Credit Card/Line Of Credit) Finance amount of statement period"
},
"cashAdvanceInterestRate": {
"type": "number",
"example": 21.5,
"description": "(Credit Card/Line Of Credit) Interest rate for cash advances"
},
"lastPaymentEscrowAmount": {
"type": "number",
"example": 456.78,
"description": "(Mortgage/Loan) Amount towards escrow in last payment"
},
"statementPurchaseAmount": {
"type": "number",
"example": 2345.9,
"description": "(Credit Card/Line Of Credit) Purchase amount of statement period"
},
"lastPaymentLastFeeAmount": {
"type": "number",
"example": 150,
"description": "(Mortgage/Loan) Amount of last fee in last payment"
},
"empPretaxContribAmountYtd": {
"type": "number",
"example": 700,
"description": "(Investment) Employer pretax contribution amount year to date"
},
"lastPaymentInterestAmount": {
"type": "number",
"example": 234.56,
"description": "(Mortgage/Loan) Amount of interest in last payment"
},
"nextPaymentInterestAmount": {
"type": "number",
"example": 234.56,
"description": "(Mortgage/Loan) Amount of interest in next payment"
},
"cashAdvanceAvailableAmount": {
"type": "number",
"example": 2000,
"description": "(Credit Card/Line Of Credit) Currently available cash advance"
},
"lastPaymentPrincipalAmount": {
"type": "number",
"example": 1256.67,
"description": "(Mortgage/Loan) Amount towards principal in last payment"
},
"nextPaymentPrincipalAmount": {
"type": "number",
"example": 1256.67,
"description": "(Mortgage/Loan) Amount towards principal in next payment"
}
},
"description": "Additional customer account details. Not all data points will return for each account type. You can see the account type that each data point will return for in descriptions. The data point are also subject to availability by the institution."
}
CustomerAccountLastTransactionDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "The date of the latest transaction on the account. This will not be present until you have run your first aggregation for the account. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
CustomerAccountMarketSegment
{
"type": "string",
"example": "personal",
"description": "The market segment of the account. Possible values: personal, business"
}
CustomerAccountMultipleStatement
{
"type": "object",
"required": [
"asOfDate",
"index"
],
"properties": {
"id": {
"$ref": "#/components/schemas/AssetId"
},
"code": {
"type": "string",
"description": "Error code for the bank statement not generated"
},
"index": {
"$ref": "#/components/schemas/Index"
},
"message": {
"type": "string",
"description": "Error message for the bank statement not generated"
},
"asOfDate": {
"$ref": "#/components/schemas/UnixDate"
},
"description": {
"$ref": "#/components/schemas/Description"
},
"documentDate": {
"$ref": "#/components/schemas/DocumentDate"
}
},
"description": "Statement represents the bank statements for a given customer's account"
}
CustomerAccountMultipleStatements
{
"type": "object",
"required": [
"statements"
],
"properties": {
"statements": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomerAccountMultipleStatement"
},
"example": [
{
"id": "a9e96186-2896-4a21-8759-450403dadf47-1063025272",
"index": "1",
"asOfDate": 1669036741,
"description": "08/28/2020 - 09/27/2020",
"documentDate": "2020-09-27"
},
{
"code": "960",
"index": "2",
"message": "statement not found.",
"asOfDate": 1669036741
}
],
"description": "List of customer account statements"
}
},
"description": "A list of customer account statements"
}
CustomerAccountOldestTransactionDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "The date of the oldest transaction in the transactions for the account. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
CustomerAccountParentAccountId
{
"type": "string",
"example": "5011648377",
"description": "The assigned account ID for the account one level higher in the student loan account hierarchy"
}
CustomerAccountPosition
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 454678080,
"description": "The ID of the investment position"
},
"units": {
"type": "number",
"example": 6.537,
"description": "The number of units of the holding"
},
"mfType": {
"type": "string",
"example": "OPENEND",
"description": "Type of mutual fund, such as open ended"
},
"status": {
"type": "string",
"example": "A",
"description": "The status of the holding"
},
"symbol": {
"type": "string",
"example": "DAL",
"description": "The investment position's market ticker symbol"
},
"posType": {
"type": "string",
"example": "Long",
"description": "Fund type assigned by the FI (long or short)"
},
"holdType": {
"type": "string",
"example": "INVESTMENT",
"description": "The type of the holding"
},
"costBasis": {
"type": "number",
"example": 190.01,
"description": "The total cost of acquiring the security"
},
"assetClass": {
"type": "string",
"example": "INTLSTOCK",
"description": "An asset class is a grouping of comparable financial securities. These include equities (stocks), fixed income (bonds), and cash equivalent or money market instruments. (DOMESTICBOND, LARGESTOCK, INTLSTOCK, MONEYMRKT, OTHER)"
},
"optionType": {
"type": "string",
"example": "PUT",
"description": "The type of option contract (PUT or CALL)"
},
"securityId": {
"type": "string",
"example": "25400W102",
"description": "The security ID of the transaction"
},
"dailyChange": {
"type": "number",
"example": 180.03,
"description": "The value amount change since the previous day"
},
"description": {
"type": "string",
"example": "DELTA AIR LINES INC",
"description": "The description of the holding"
},
"marketValue": {
"type": "number",
"example": 271.84,
"description": "Market value of an investment position at the time of retrieval"
},
"currencyRate": {
"type": "number",
"example": 1,
"description": "Currency rate, ratio of currency to original currency"
},
"currentPrice": {
"type": "number",
"example": 41.585,
"description": "The current price of the investment holding"
},
"fiAssetClass": {
"type": "string",
"example": "COMNEQTY",
"description": "Financial Institution (FI) defined asset class (COMMON STOCK, COMNEQTY, EQUITY/STOCK, CMA-ISA, CONVERTIBLE PREFERREDS, CORPORATE BONDS, OTHER MONEY FUNDS, ALLOCATION FUNDS, CMA-TAXABLE, FOREIGNEQUITYADRS, COMMONSTOCK, PREFERRED STOCKS, STABLE VALUE, FOREIGN EQUITY ADRS)"
},
"securityName": {
"type": "string",
"example": "DELTA AIR LINES INC",
"description": "The security name for the investment holding"
},
"securityType": {
"type": "string",
"example": "Stock",
"description": "Type of security for the investment position"
},
"changePercent": {
"type": "number",
"example": 170.02,
"description": "The percent change in value since the previous day"
},
"todayGLDollar": {
"type": "number",
"example": 16272.9,
"description": "The current day's gain and loss of the position at the time of aggregation in dollars"
},
"totalGLDollar": {
"type": "number",
"example": 162742.9,
"description": "Total gain and loss of the position at the time of aggregation in dollars"
},
"securityIdType": {
"$ref": "#/components/schemas/SecurityIdType"
},
"subAccountType": {
"type": "string",
"example": "CASH",
"description": "The subaccount's type, such as cash"
},
"todayGLPercent": {
"type": "number",
"example": 18.89,
"description": "The current day's gain and loss of the position at the time of aggregation in percentage"
},
"totalGLPercent": {
"type": "number",
"example": 68.89,
"description": "Total gain and loss of the position at the time of aggregation in percentage"
},
"invSecurityType": {
"type": "string",
"example": "OTHERINFO",
"description": "The security type for the investment holding"
},
"transactionType": {
"type": "string",
"example": "Margin",
"description": "The transaction type of the holding, such as cash, margin, and more"
},
"currentPriceDate": {
"$ref": "#/components/schemas/UnixDate"
},
"optionExpireDate": {
"type": "string",
"format": "date",
"example": "1644994800",
"description": "Expiration date of option"
},
"securityCurrency": {
"type": "string",
"example": "USD",
"description": "Symbol for the currency that the account is being converted into"
},
"costBasisPerShare": {
"type": "number",
"example": 13.38,
"description": "The per share cost of acquiring the security"
},
"optionStrikePrice": {
"type": "number",
"example": 50,
"description": "The strike price of the option contract"
},
"optionSharesPerContract": {
"type": "number",
"example": 100,
"description": "The number of shares per option contract"
}
},
"description": "Details for investment account holdings"
}
CustomerAccountSimple
{
"type": "object",
"required": [
"id",
"accountNumberDisplay",
"name",
"type",
"status",
"customerId",
"institutionId",
"createdDate",
"currency",
"institutionLoginId",
"displayPosition"
],
"properties": {
"id": {
"$ref": "#/components/schemas/AccountId"
},
"name": {
"$ref": "#/components/schemas/Name"
},
"type": {
"$ref": "#/components/schemas/AccountType"
},
"status": {
"$ref": "#/components/schemas/AggregationStatus"
},
"currency": {
"$ref": "#/components/schemas/Currency"
},
"customerId": {
"$ref": "#/components/schemas/CustomerId"
},
"createdDate": {
"$ref": "#/components/schemas/UnixDate"
},
"institutionId": {
"$ref": "#/components/schemas/InstitutionId"
},
"parentAccount": {
"$ref": "#/components/schemas/AccountId"
},
"displayPosition": {
"$ref": "#/components/schemas/DisplayPosition"
},
"institutionLoginId": {
"$ref": "#/components/schemas/NumericInstitutionLoginId"
},
"accountNumberDisplay": {
"$ref": "#/components/schemas/AccountNumberDisplay"
},
"aggregationStatusCode": {
"$ref": "#/components/schemas/AggregationStatusCode"
},
"aggregationAttemptDate": {
"$ref": "#/components/schemas/UnixDate"
},
"aggregationSuccessDate": {
"$ref": "#/components/schemas/UnixDate"
}
},
"description": "An account represents a bank account such as a checking or savings that the customer has added via the Connect interface."
}
CustomerAccounts
{
"type": "object",
"required": [
"accounts"
],
"properties": {
"accounts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomerAccount"
},
"description": "List of customer accounts"
}
},
"description": "A list of customer accounts"
}
CustomerAccountsSimple
{
"type": "object",
"required": [
"accounts"
],
"properties": {
"accounts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomerAccountSimple"
},
"description": "A list of accounts with basic information of a customer"
}
},
"description": "A list of accounts with basic information of a customer"
}
CustomerAnalytics
{
"type": "object",
"required": [
"transactionalAttributes",
"stateAttributes",
"streams"
],
"properties": {
"streams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StreamModel"
},
"description": "List of generated streams"
},
"stateAttributes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StateAttribute"
},
"description": "List of calculated state attributes"
},
"transactionalAttributes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TransactionalAttribute"
},
"description": "List of calculated transactional attributes"
}
},
"description": "Analytics and attributes generated at a customer level"
}
CustomerId
{
"type": "string",
"example": "1005061234",
"description": "A customer ID. See Add Customer API for how to create a customer ID."
}
CustomerLastUpdatedDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A timestamp showing when the account was last modified to the system. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
CustomerType
{
"type": "string",
"example": "active",
"description": "The type of customer (\"active\" or \"testing\" or \"\" for all types)"
}
CustomerUpdate
{
"type": "object",
"properties": {
"lastName": {
"$ref": "#/components/schemas/LastName"
},
"firstName": {
"$ref": "#/components/schemas/FirstName"
}
},
"description": "Represent an update to customer fields"
}
CustomerUsername
{
"type": "string",
"example": "customerusername1",
"description": "The customer's username, assigned by the partner (a unique identifier), following these rules: minimum 6 characters maximum 255 characters any mix of uppercase, lowercase, numeric, and non-alphabet special characters ! @ . # $ % & * _ - + the use of email in this field is discouraged it is recommended to use a unique non-email identifier. Use of special characters may result in an error (e.g. Γ, ΓΌ, etc.). Usernames are unique. A username used in Test Drive can't be reused in other plans."
}
CustomerWithAppData
{
"allOf": [
{
"$ref": "#/components/schemas/Customer"
},
{
"type": "object",
"properties": {
"applicationId": {
"$ref": "#/components/schemas/ApplicationId"
},
"applicationName": {
"$ref": "#/components/schemas/ApplicationName"
}
}
}
],
"required": [
"id",
"username",
"firstName",
"lastName",
"type",
"createdDate",
"applicationId",
"applicationName"
],
"description": "A finicity customer record with application info"
}
Customers
{
"type": "object",
"required": [
"displaying",
"moreAvailable",
"customers"
],
"properties": {
"found": {
"$ref": "#/components/schemas/FoundResults"
},
"customers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Customer"
},
"description": "A list of customer records"
},
"displaying": {
"$ref": "#/components/schemas/DisplayingResults"
},
"moreAvailable": {
"$ref": "#/components/schemas/MoreResultsAvailable"
}
},
"description": "A list of customers"
}
DateAsOf
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(All Account Types) Most recent date of the following information. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
DateTimeWithZone
{
"type": "string",
"format": "date-time",
"example": "2022-03-10T06:06:20.042584549Z",
"description": "A date-time with time zone"
}
DecimalNumber
{
"type": "number",
"format": "float",
"example": 0.12,
"description": "Decimal number"
}
Deduction
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "401",
"description": "The normalized category of the deductions in the format [type][number]. The number is the will be the iterating number of the type's occurrence starting at one."
},
"type": {
"type": "string",
"example": "401 Deductions",
"description": "Categorization based on the deduction line's description"
},
"amountYTD": {
"type": "number",
"example": 1744.6,
"description": "The amount for the deduction line being deducted from the employee's pay for the current pay year"
},
"description": {
"type": "string",
"example": "401k",
"description": "The deduction line's deduction type description"
},
"amountCurrent": {
"type": "number",
"example": 1744.61,
"description": "The amount for the deduction line deducted from employee's pay for the specified pay period"
}
}
}
Deductions
{
"type": "object",
"required": [
"type",
"amount"
],
"properties": {
"type": {
"type": "string",
"example": "State tax",
"description": "Deduction types:\n\n* `Federal tax`: Federal tax withholdings \n\n* `State tax`: State tax withholdings \n\n* `Local tax`: Local tax withholdings \n\n* `Social security tax`: Social security tax withholdings \n\n* `Medicare tax`: Medicare withholdings \n\n* `SUI SDI VPDI tax`: SUI SDI VPDI tax \n\n* Retirement deductions: Retirement withholdings \n\n* `Benefit deductions`: Medical/Health benefits withholdings (i.e. medical, dental, vision, insurance) \n\n* `Garnishment deductions`: Garnishment withholdings, (i.e. bankruptcy, student loan, state garnishments, tax levy garnishments, child support) \n\n* `Other deductions`: Other withholdings, includes any other uncommon withholdings, pension plan, stock plans, etc.\n"
},
"amount": {
"type": "number",
"example": 4.28,
"description": "Amount associated with deduction"
}
}
}
Description
{
"type": "string",
"description": "Date range representing the period for when the statement data is generated."
}
Descriptor
{
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"type": "string",
"example": "routingNumber",
"description": "Payment Instruction Descriptor Type"
},
"value": {
"type": "string",
"example": "2434345",
"description": "Value that the Descriptor Type Holds"
}
}
}
DirectDeposit
{
"type": "object",
"properties": {
"amountCurrent": {
"type": "number",
"example": 1744.61,
"description": "The amount of the deposit"
},
"accountLastFour": {
"type": "string",
"example": "1234",
"description": "The last four numbers of the account the deposit went into"
}
}
}
DirectDeposits
{
"type": "object",
"properties": {
"amount": {
"type": "number",
"example": 12.34,
"description": "Direct deposit amount"
},
"routingNumber": {
"type": "string",
"example": 30207583,
"description": "Routing number for the deposit account"
},
"accountLastFour": {
"type": "string",
"example": 3337,
"description": "Last four digits of the deposit account number"
},
"accountTypeCode": {
"type": "string",
"example": "Savings",
"description": "Bank account type:\n\n* `Checking`\n\n* `Savings`\n\n* `Loan`: Loan account employee choose to direct a portion of their net pay to help pay off a loan\n"
}
}
}
DirectPayStatements
{
"type": "object",
"required": [
"payrollPayHistoryId",
"lastPayPeriodIndicator",
"mainPayStatementFields",
"earnings"
],
"properties": {
"earnings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Earnings"
},
"description": "Categorization of pay, for the pay period"
},
"deductions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Deductions"
},
"description": "Deductions from the pay check"
},
"directDeposits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DirectDeposits"
},
"description": "Direct deposit information for the paycheck"
},
"payrollPayHistoryId": {
"type": "string",
"example": "qsrt2hmjnf",
"description": "An ID for the income and employment details for the given pay period"
},
"lastPayPeriodIndicator": {
"type": "boolean",
"example": true,
"description": "Most recent available pay check"
},
"mainPayStatementFields": {
"$ref": "#/components/schemas/MainPayStatementFields"
}
}
}
DisplayPosition
{
"type": "integer",
"format": "int32",
"example": 2,
"description": "Display position of the account at the financial institution, \"1\"\n being the top listed account"
}
DisplayingResults
{
"type": "integer",
"example": 1,
"description": "The number of results returned"
}
DocumentDate
{
"type": "string",
"description": "The date when the statement was generated."
}
Earnings
{
"type": "object",
"required": [
"type",
"amount"
],
"properties": {
"name": {
"type": "string",
"example": "bonusPayAmount",
"description": "Where available, the employer description of earnings on the paycheck"
},
"rate": {
"type": "number",
"example": 19,
"description": "Rate of pay"
},
"type": {
"type": "string",
"example": "bonus",
"description": "Categorization of the earnings:\n\n* `base`\n\n* `bonus`\n\n* `overtime`\n\n* `commission`\n\n* `tips`\n\n* `other`\n"
},
"amount": {
"type": "number",
"example": 589,
"description": "Earnings amount for each earning type"
},
"amountYTD": {
"type": "number",
"example": 14301.25,
"description": "Earnings YTD amount if available"
}
}
}
EmailAddress
{
"type": "string",
"example": "myname@mycompany.com",
"description": "An email address"
}
EmailDomainCreationDate
{
"type": "string",
"example": "2011-06-29T00:00:00.000Z",
"description": "Returns a date that the email domain was created."
}
EmailFirstSeenDays
{
"type": "number",
"example": 453,
"description": "Count of days since the email was first observed in Ekata's Identity Network. If the email has not been observed before, first_seen_days will be 0."
}
EmailOptions
{
"type": "object",
"required": [
"to"
],
"properties": {
"to": {
"type": "string",
"example": "bob@example.com",
"description": "The email address for the customer receiving the Connect email"
},
"from": {
"type": "string",
"example": "test.lender@test.com",
"description": "The name of a person or business sending the Connect email"
},
"subject": {
"type": "string",
"example": "Verify your income",
"description": "The subject line of the email. The default is \"Verify your Financial Information\"."
},
"firstName": {
"type": "string",
"example": "Bob",
"description": "The first name of the customer or both names of the customers for joint borrowers. Example: \"Marvin and Jenny\"."
},
"signature": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"Cindy Mayfield",
"Senior Loan Officer",
"Direct 123-456-7890"
],
"description": "A signature for the email"
},
"supportPhone": {
"type": "string",
"example": "800-555-5555",
"description": "The support phone number listed in the email"
},
"institutionName": {
"type": "string",
"example": "Acme Lending",
"description": "The name of your company"
},
"institutionAddress": {
"type": "string",
"example": "222 Winnipeg Drive SLC UT, 84109",
"description": "The institution address to appear in the footer of the email"
}
},
"description": "Configuration for the Connect email's sent to customers"
}
EmailToName
{
"type": "string",
"example": "not found",
"description": "The match status between the input name and the queried entity.\n* not found\n* match\n* no-match"
}
EmailValid
{
"type": "boolean",
"example": true,
"description": "True if the email address is valid."
}
Employee
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Patrick Purchaser",
"description": "The name of the employee"
}
}
}
Employer
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Rocket Surgery",
"description": "The name of the employer"
}
}
}
EmployerName
{
"type": "string",
"example": "ACME INC",
"description": "Name of the employer as stated by the employer in the payroll system"
}
EmploymentId
{
"type": "string",
"example": "123v3bv2s5n",
"description": "This is a Mastercard assigned ID to the employment record. It remains consistent for that employment record, even if the report is refreshed. It can be used to limit the employment records that are returned in the report."
}
ErrorMessage
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "object",
"example": "10001",
"description": "An error code (can be returned as a number or a string). Useful links: [Common API Status Codes](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/#common-api-status-codes), [Aggregation Status Codes](https://developer.mastercard.com/open-banking-us/documentation/products/manage/account-aggregation/#aggregation-status-codes)."
},
"level": {
"type": "string",
"example": "error",
"description": "An error level"
},
"title": {
"type": "string",
"example": "Connecting accounts error",
"description": "A title for the error"
},
"status": {
"type": "string",
"example": "401",
"description": "A status code"
},
"assetId": {
"$ref": "#/components/schemas/AssetId"
},
"message": {
"type": "string",
"example": "Invalid authorization credentials",
"description": "An error message"
},
"accountId": {
"$ref": "#/components/schemas/AccountId"
},
"user_message": {
"type": "string",
"example": "The session has expired or is invalid",
"description": "Some more details about the error"
}
}
}
EstimateInclusion
{
"type": "string",
"example": "HIGH",
"description": "Possible values: \"HIGH\", \"MODERATE\", \"LOW\", \"NO\""
}
ExcludeEmpInfo
{
"type": "boolean",
"example": false,
"description": "Only used on an exception basis for clients that need to exclude EmpInfo data from the VOE-Payroll or VOIE-Payroll report. If true is passed EmpInfo payroll provider's data will not be searched or returned."
}
ExpectedPayoffDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Student Loan) The expected date of the payoff date. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
Experience
{
"type": "string",
"example": "default",
"description": "The `experience` field allows you to customize:\n* Brand: color and logo\n* Icon: displayed on the \"Share your data\" page \n* Popular institutions: displayed on the Bank Search page \n* Report: the credit decisioning report to send when Connect completes. \n* MVS modules: financial, payroll, paystub\n\nNote: the Finicity sales engineers (SE) help you set up a default experience for your company when you migrate to Connect 2.0. For each additional experience you create thereafter, they'll give you a unique ID. See [Generate Connect URL](https://developer.mastercard.com/open-banking-us/documentation/connect/generate-2-connect-url-apis/).\n\nExperience values options: \n* \"default\": your default experience (must be defined) \n* GUID: the code for a different experience\n* Not defined: If you don't pass the experience parameter, then Connect's out of the box default experience (add accounts but no branding) is used, and the MVS modules will not run."
}
ExtractDeductions
{
"type": "boolean",
"default": false,
"example": true,
"description": "Field to indicate whether to extract the deductions on all pay statements"
}
ExtractDirectDeposit
{
"type": "boolean",
"default": true,
"example": true,
"description": "Field to indicate whether to extract the direct deposits on all pay statements"
}
ExtractEarnings
{
"type": "boolean",
"default": true,
"example": true,
"description": "Field to indicate whether to extract the earnings on all pay statements"
}
FirstName
{
"type": "string",
"example": "John",
"description": "The first name of the account holder"
}
FirstPaymentDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Mortgage/Loan) First payment due date. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
FixConnectParameters
{
"type": "object",
"required": [
"partnerId",
"customerId",
"institutionLoginId"
],
"properties": {
"webhook": {
"$ref": "#/components/schemas/Webhook"
},
"language": {
"$ref": "#/components/schemas/ConnectLanguage"
},
"isWebView": {
"$ref": "#/components/schemas/IsWebView"
},
"partnerId": {
"$ref": "#/components/schemas/PartnerId"
},
"customerId": {
"$ref": "#/components/schemas/CustomerId"
},
"experience": {
"$ref": "#/components/schemas/Experience"
},
"redirectUri": {
"$ref": "#/components/schemas/RedirectUri"
},
"webhookData": {
"$ref": "#/components/schemas/WebhookData"
},
"singleUseUrl": {
"$ref": "#/components/schemas/SingleUseUrl"
},
"webhookHeaders": {
"$ref": "#/components/schemas/WebhookHeaders"
},
"institutionLoginId": {
"$ref": "#/components/schemas/InstitutionLoginId"
},
"webhookContentType": {
"$ref": "#/components/schemas/WebhookContentType"
}
}
}
FoundResults
{
"type": "integer",
"example": 200,
"description": "The total number of results matching search criteria"
}
GovernmentId
{
"type": "string",
"example": "123456789",
"description": "A federal or state issued identification number in alphanumeric characters.\n* **United States**:\n\n * Passport: 6-9 digits.\n\n * US Visa: 8 digits.\n\n * Driver's license: 1-19 digits\n* **Canada**:\n\n * Passport: 8 digits \n\n * Driver: 6-9 digits"
}
GseEnabled
{
"type": "boolean",
"example": true,
"description": "Mastercard Open Banking internal use only to flag reports that should not be retrieved by the GSE's (Government-Sponsored Enterprise).\n\nThis is a mandatory field for VOE-payroll and VOIE-payroll report types."
}
IdentityNetworkScore
{
"type": "number",
"example": 0.574,
"description": "Comprehensive network score built on behavioral insights such as velocity, popularity, volatility, and age of an attribute, with a higher score indicating a riskier account sign-up. A number between 0 and 1 rounded to three decimal places."
}
IdentityRiskScore
{
"type": "number",
"example": 275,
"description": "Comprehensive identity risk score with a higher score indicating a riskier account sign-up."
}
IncludePending
{
"type": "boolean",
"default": false,
"example": true,
"description": "If pending transactions must be included"
}
IncomeStreamConfidenceMinimum
{
"type": "integer",
"format": "int32",
"example": 50,
"description": "Include income streams in the report, based on the income stream's confidence score. For example, Use the value 50 to include only income streams with a confidence score of 50 or higher."
}
Index
{
"type": "string",
"description": "The index for the statement. This can range from 1 to 24 statement indexes."
}
InitialMlDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Mortgage/Loan) Original date of loan. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
InitiatedMicroDeposit
{
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "Pending",
"description": "Micro entries successful initiation status"
},
"accountId": {
"$ref": "#/components/schemas/AccountId"
},
"depositCount": {
"$ref": "#/components/schemas/MicroDepositCount"
},
"statusDescription": {
"type": "string",
"example": "Micro entries successfully initiated",
"description": "Micro entries successful initiation description"
}
}
}
Institution
{
"type": "object",
"required": [
"id",
"transAgg",
"ach",
"stateAgg",
"voi",
"voa",
"aha",
"availBalance",
"accountOwner",
"oauthEnabled",
"currency",
"status"
],
"properties": {
"id": {
"$ref": "#/components/schemas/NumericInstitutionId"
},
"ach": {
"$ref": "#/components/schemas/InstitutionAch"
},
"aha": {
"$ref": "#/components/schemas/InstitutionAha"
},
"voa": {
"$ref": "#/components/schemas/InstitutionVoa"
},
"voi": {
"$ref": "#/components/schemas/InstitutionVoi"
},
"name": {
"$ref": "#/components/schemas/InstitutionName"
},
"class": {
"type": "string",
"example": "retirement",
"description": "Institution's class"
},
"email": {
"$ref": "#/components/schemas/EmailAddress"
},
"phone": {
"$ref": "#/components/schemas/PhoneNumber"
},
"status": {
"type": "string",
"example": "online",
"description": "Status for the institution: \"online\", \"offline\", \"maintenance\", \"testing\""
},
"address": {
"$ref": "#/components/schemas/InstitutionAddress"
},
"branding": {
"$ref": "#/components/schemas/Branding"
},
"currency": {
"$ref": "#/components/schemas/Currency"
},
"stateAgg": {
"$ref": "#/components/schemas/InstitutionStateAgg"
},
"timeZone": {
"type": "string",
"example": "America/Denver",
"description": "The time zone of the institution."
},
"transAgg": {
"$ref": "#/components/schemas/InstitutionTransAgg"
},
"urlHomeApp": {
"type": "string",
"example": "https://www.example.com/home",
"description": "The URL of the institution's primary home page"
},
"specialText": {
"type": "string",
"example": "Please enter your Principal Financial - Retirement (Personal) Username and Password.",
"description": "Special instructions given to customers for login"
},
"urlLogonApp": {
"type": "string",
"example": "https://www.example.com/login",
"description": "The URL of the institution's login page"
},
"accountOwner": {
"$ref": "#/components/schemas/InstitutionAccountOwner"
},
"availBalance": {
"$ref": "#/components/schemas/InstitutionAvailableBalance"
},
"oauthEnabled": {
"type": "boolean",
"example": true,
"description": "\"true\": The institution is an OAuth connection\n\n\"false\": The institution isn't an OAuth connection"
},
"studentLoanData": {
"$ref": "#/components/schemas/StudentLoanDataCertification"
},
"newInstitutionId": {
"$ref": "#/components/schemas/NumericInstitutionId"
},
"urlForgotPassword": {
"type": "string",
"example": "https://www.example.com/forgotPassword.do",
"description": "Institution's forgot password page"
},
"loanPaymentDetails": {
"$ref": "#/components/schemas/LoanPaymentDetailCertification"
},
"oauthInstitutionId": {
"$ref": "#/components/schemas/NumericInstitutionId"
},
"specialInstructions": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"Account details",
"Balances and transactions",
"Personal and account ownership info"
],
"description": "Instructions given to the customer before they are sent to the institution website to login for OAuth institutions.\n\nNote: this helps the customer to provide the proper permission for data needed for the application."
},
"urlOnlineRegistration": {
"type": "string",
"example": "https://www.example.com/signup",
"description": "Institution's signup page"
},
"accountTypeDescription": {
"type": "string",
"example": "Workplace Retirement",
"description": "Values: Banking, Investments, Credit Cards/Accounts, Workplace Retirement, Mortgages and Loans, Insurance"
},
"specialInstutionsTitle": {
"type": "string",
"example": "Special OAuth Login Instructions",
"description": "The title of the special instructions, if one exists or is required."
}
},
"description": "A financial institution"
}
InstitutionAccountOwner
{
"type": "boolean",
"example": true,
"description": "\"true\": The institution is certified for the Account Owner product\n\"false\": The institution is decertified for the Account Owner product"
}
InstitutionAch
{
"type": "boolean",
"example": true,
"description": "\"true\": The institution is certified for the ACH product\n\"false\": The institution is decertified for the ACH product"
}
InstitutionAddress
{
"type": "object",
"properties": {
"city": {
"$ref": "#/components/schemas/City"
},
"state": {
"$ref": "#/components/schemas/State"
},
"country": {
"$ref": "#/components/schemas/Country"
},
"postalCode": {
"$ref": "#/components/schemas/ZipCode"
},
"addressLine1": {
"$ref": "#/components/schemas/AddressLine1"
},
"addressLine2": {
"$ref": "#/components/schemas/AddressLine2"
}
},
"description": "The address of a financial institution"
}
InstitutionAha
{
"type": "boolean",
"example": false,
"description": "\"true\": The institution is certified for the Account History Aggregation product\n\"false\": The institution is decertified for the Account History Aggregation product"
}
InstitutionAvailableBalance
{
"type": "boolean",
"example": false,
"description": "\"true\": The institution is certified for the Account Balance Check (ABC) product\n\"false\": The institution is decertified for the Account Balance Check (ABC) product"
}
InstitutionId
{
"type": "string",
"example": "4222",
"description": "The ID of a financial institution"
}
InstitutionLoginId
{
"type": "string",
"example": "1007302745",
"description": "An institution login ID (from the account record)"
}
InstitutionName
{
"type": "string",
"example": "FinBank",
"description": "The name of the institution"
}
InstitutionSettings
{
"type": "object",
"description": "Advanced options for configuration of which institutions to display in. See [Institution Settings](https://developer.mastercard.com/open-banking-us/documentation/connect/connect-institutions-settings/)."
}
InstitutionStateAgg
{
"type": "boolean",
"example": false,
"description": "\"true\": The institution is certified for the Statement Aggregation product\n\"false\": The institution is decertified for the Statement Aggregation product"
}
InstitutionTransAgg
{
"type": "boolean",
"example": true,
"description": "\"true\": The institution is certified for the Transaction Aggregation product\n\"false\": The institution is decertified for the Transaction Aggregation product"
}
InstitutionVoa
{
"type": "boolean",
"example": true,
"description": "\"true\": The institution is certified for the VOA product\n\"false\": The institution is decertified for the VOA product"
}
InstitutionVoi
{
"type": "boolean",
"example": true,
"description": "\"true\": The institution is certified for the VOI product\n\"false\": The institution is decertified for the VOI product"
}
InstitutionWrapper
{
"type": "object",
"required": [
"institution"
],
"properties": {
"institution": {
"$ref": "#/components/schemas/Institution"
}
}
}
Institutions
{
"type": "object",
"required": [
"found",
"displaying",
"moreAvailable",
"createdDate",
"institutions"
],
"properties": {
"found": {
"$ref": "#/components/schemas/FoundResults"
},
"displaying": {
"$ref": "#/components/schemas/DisplayingResults"
},
"createdDate": {
"$ref": "#/components/schemas/UnixDate"
},
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Institution"
},
"maxItems": 1000,
"minItems": 0,
"description": "A list of institutions"
},
"moreAvailable": {
"$ref": "#/components/schemas/MoreResultsAvailable"
}
},
"description": "A list of financial institutions from the Get Institutions API"
}
InsufficientFundsTransaction
{
"type": "object",
"required": [
"postedDate",
"amount",
"transactionId"
],
"properties": {
"memo": {
"type": "string",
"example": "NSF",
"maxLength": 255,
"minLength": 0,
"description": "Transaction memo"
},
"amount": {
"type": "number",
"example": -1.65,
"description": "Amount of the NSF transaction"
},
"postedDate": {
"type": "string",
"example": "2022-12-19",
"maxLength": 10,
"minLength": 10,
"description": "Posted date of the NSF transaction"
},
"description": {
"type": "string",
"example": "OVERDRAFT FEE",
"maxLength": 255,
"minLength": 0,
"description": "Description of the transaction"
},
"transactionId": {
"type": "integer",
"example": 23092384290,
"description": "Finicity transaction ID"
}
}
}
InvestmentTransactionTypes
{
"type": "string",
"example": "transfer",
"description": "Keywords in the `description` and `memo` fields were used to translate investment transactions into these types.\n\nPossible values: \n* \"cancel\"\n\n* \"purchaseToClose\"\n\n* \"purchaseToCover\"\n\n* \"contribution\"\n\n* \"optionExercise\"\n\n* \"optionExpiration\"\n\n* \"fee\"\n\n* \"soldToClose\"\n\n* \"soldToOpen\"\n\n* \"split\"\n\n* \"transfer\"\n\n* \"returnOfCapital\"\n\n* \"income\"\n\n* \"purchased\"\n\n* \"sold\"\n\n* \"dividendReinvest\"\n\n* \"tax\"\n\n* \"dividend\"\n\n* \"reinvestOfIncome\"\n\n* \"interest\"\n\n* \"deposit\"\n\n* \"otherInfo\""
}
IpAddressDistance
{
"type": "number",
"example": 210,
"description": "The distance (in miles) between the IP address and the physical address."
}
IpGeolocationCountryCode
{
"type": "string",
"example": "US",
"description": "The ISO-3166 alpha-2 country code associated with the geolocation of the IP address."
}
IpGeolocationSubdivision
{
"type": "string",
"example": "Oregon",
"description": "More granular detail about the IP address location."
}
IpLastSeenDays
{
"type": "number",
"example": 15,
"description": "Count of days since the IP address was last observed in Ekata's Identity Network. If the IP address has not been observed before, IpLastSeenDays will be 0."
}
IpPhoneDistance
{
"type": "number",
"example": 200,
"description": "The distance (in miles) between the IP address and the closest physical address associated with the phone number."
}
IpRisk
{
"type": "number",
"example": null,
"description": "True if the IP address is considered risky, based on multiple IP data points and velocity calculations."
}
IpRiskScore
{
"type": "number",
"example": 0.123,
"description": "Comprehensive risk score associated with an IP address, with a higher score indicating a riskier IP address. A number between 0 and 1 rounded to three decimal places."
}
IsWebView
{
"type": "boolean",
"example": true,
"description": "\"true\": Indicates that the Connect Session will be displayed within a WebView.\nNote: when the `isWebView` parameter is `true` the `redirectUri` parameter is required."
}
LastName
{
"type": "string",
"example": "Smith",
"description": "The last name of the account holder"
}
LastPaymentDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Credit Card/Line Of Credit) The date of the last payment. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
LastPaymentDueDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Mortgage/Loan) Due date of last payment. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
LastPaymentReceiveDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Mortgage/Loan) The date of the last payment. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
LiteConnectParameters
{
"type": "object",
"required": [
"partnerId",
"customerId",
"institutionId"
],
"properties": {
"webhook": {
"$ref": "#/components/schemas/Webhook"
},
"language": {
"$ref": "#/components/schemas/ConnectLanguage"
},
"isWebView": {
"$ref": "#/components/schemas/IsWebView"
},
"partnerId": {
"$ref": "#/components/schemas/PartnerId"
},
"customerId": {
"$ref": "#/components/schemas/CustomerId"
},
"experience": {
"$ref": "#/components/schemas/Experience"
},
"redirectUri": {
"$ref": "#/components/schemas/RedirectUri"
},
"webhookData": {
"$ref": "#/components/schemas/WebhookData"
},
"singleUseUrl": {
"$ref": "#/components/schemas/SingleUseUrl"
},
"institutionId": {
"$ref": "#/components/schemas/NumericInstitutionId"
},
"webhookHeaders": {
"$ref": "#/components/schemas/WebhookHeaders"
},
"webhookContentType": {
"$ref": "#/components/schemas/WebhookContentType"
}
}
}
LoanPaymentDetailCertification
{
"type": "boolean",
"example": true,
"description": "\"true\": The institution is certified for the Loan Payment Detail product\n\n\"false\": The institution is decertified for the Loan Payment Detail product"
}
LoanPaymentDetails
{
"type": "object",
"required": [
"loanNumber",
"loanPaymentNumber",
"loanPaymentAddress"
],
"properties": {
"loanNumber": {
"type": "string",
"example": "123456789",
"description": "The number of the specific loan under the account."
},
"accountDetail": {
"$ref": "#/components/schemas/LoanPaymentDetailsAccount"
},
"loanPaymentNumber": {
"type": "string",
"example": "5231123456789",
"description": "The payment number given by the institution. This number is typically for manual payments. This is not an ACH payment number."
},
"loanPaymentAddress": {
"type": "string",
"example": "Heartland ECSI PO Box 718 Wexford PA 15090",
"description": "The payment address to send manual payments to"
}
},
"description": "Loan payment details for a customer account"
}
LoanPaymentDetailsAccount
{
"type": "object",
"required": [
"accountId",
"accountNumber",
"accountPaymentNumber",
"accountPaymentAddress"
],
"properties": {
"accountId": {
"$ref": "#/components/schemas/AccountId"
},
"loanDetail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LoanPaymentDetailsLoan"
},
"description": "Loan details"
},
"groupDetail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LoanPaymentDetailsGroup"
},
"description": "Group details"
},
"accountNumber": {
"type": "string",
"example": "9876543210",
"description": "Institution's ID of the Student Loan Account"
},
"accountPaymentNumber": {
"type": "string",
"example": 1234895413,
"description": "The payment number given by the institution. This number is typically for manual payments. This is not an ACH payment number."
},
"accountPaymentAddress": {
"type": "string",
"example": "P.O. Box 123 Sioux Falls, IA 51054",
"description": "The payment address to which send manual payments should be sent"
},
"accountFuturePayoffDate": {
"type": "string",
"format": "date-time",
"example": "2022-01-01T00:00:00.000Z",
"description": "The date to which the \"Future Payoff Amount\" applies"
},
"accountFuturePayoffAmount": {
"type": "number",
"example": 10000,
"description": "The payoff amount for the account"
}
}
}
LoanPaymentDetailsGroup
{
"type": "object",
"required": [
"accountId",
"groupNumber",
"groupPaymentNumber",
"groupPaymentAddress",
"groupLoanDetail"
],
"properties": {
"accountId": {
"$ref": "#/components/schemas/AccountId"
},
"groupNumber": {
"type": "string",
"example": "3210-Group A",
"description": "Institution's ID of the Student Loan Group"
},
"groupLoanDetail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LoanPaymentDetailsLoan"
}
},
"groupPaymentNumber": {
"type": "string",
"example": "00001234895413-A",
"description": "The payment number given by the institution. This number is typically for manual payments. This is not an ACH payment number."
},
"groupPaymentAddress": {
"type": "string",
"example": "P.O. Box 123 Sioux Falls, IA 51054",
"description": "The payment address to which send manual payments should be sent"
},
"groupFuturePayoffDate": {
"type": "string",
"format": "date-time",
"example": "2022-01-01T00:00:00.000Z",
"description": "The date to which the \"Future Payoff Amount\" applies"
},
"groupFuturePayoffAmount": {
"type": "number",
"example": 7500,
"description": "The payoff amount for the group"
}
},
"description": "Group details"
}
LoanPaymentDetailsLoan
{
"type": "object",
"required": [
"accountId",
"loanNumber",
"loanPaymentNumber",
"loanPaymentAddress"
],
"properties": {
"accountId": {
"$ref": "#/components/schemas/AccountId"
},
"loanNumber": {
"type": "string",
"example": "3210-Group A-1",
"description": "Institution's ID of the Student Loan"
},
"loanPaymentNumber": {
"type": "string",
"example": "00001234895413-A-1",
"description": "The payment number given by the institution. This number is typically for manual payments. This is not an ACH payment number."
},
"loanPaymentAddress": {
"type": "string",
"example": "P.O. Box 123 Sioux Falls, IA 51054",
"description": "The payment address to which send manual payments should be sent"
},
"loanFuturePayoffDate": {
"type": "string",
"format": "date-time",
"example": "2022-01-01T00:00:00.000Z",
"description": "The date to which the \"Future Payoff Amount\" applies"
},
"loanFuturePayoffAmount": {
"type": "number",
"example": 5000,
"description": "The payoff amount for the loan"
}
},
"description": "Loan details"
}
LoanStatusEndDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Student Loan) The end date of the current status. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
LoanStatusStartDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Student Loan) The start date of the current status. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
MainPayStatementFields
{
"type": "object",
"required": [
"payDate",
"grossPayAmount"
],
"properties": {
"endDate": {
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "End date for the pay period"
},
"payDate": {
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "Pay date for the pay period"
},
"payType": {
"type": "string",
"example": "Hourly",
"description": "Current pay type:\n\n* `Salary`\n\n* `Hourly`\n\n* `Daily`\n"
},
"startDate": {
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "Start date for the pay period"
},
"netPayAmount": {
"type": "number",
"example": 608.77,
"description": "Net pay amount for a pay period"
},
"payFrequency": {
"type": "string",
"example": "Weekly",
"description": "The current pay frequency, or how often a regular pay check is \ndistributed:\n\n* `Daily`\n\n* `Weekly`\n\n* `Bi-Weekly`\n\n* `Semi-Monthly`\n\n* `Monthly`\n\n* `Quarterly`\n\n* `Semi-Annual`\n\n* `Annual`\n\n* `Every 2.6 wks`\n\n* `Every 4 wks`\n\n* `Every 5.2 wks`\n\n* `Other`\n"
},
"grossPayAmount": {
"type": "number",
"example": 755.25,
"description": "Gross pay amount for the pay period"
},
"payPeriodHours": {
"type": "number",
"example": 39.75,
"description": "Sum of all hours worked each week for the pay period"
},
"netPayAmountYTD": {
"type": "number",
"example": 2345.99,
"description": "Year to date (YTD) net pay amount at the time of payment"
},
"grossPayAmountYTD": {
"type": "number",
"example": 4256,
"description": "Year to date (YTD) gross pay amount at the time of payment"
}
}
}
MarketSegment
{
"type": "string",
"example": "Mortgage",
"description": "Use case for requesting the consumer's data. Current supported enumerations are \"Mortgage\" and \"KYC\". If your use case doesn't match one of these please reach out to your technical point of contact."
}
MaturityDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Checking/Savings/CD/MoneyMarket) Maturity date of account type. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
MicroDepositCallbackUrl
{
"type": "string",
"format": "uri",
"example": "https://www.mydomain.com/listener",
"description": "A callback URL where to receive micro deposit notifications"
}
MicroDepositCount
{
"type": "integer",
"format": "int32",
"example": 2,
"description": "Count of micro entries"
}
MicroDepositDetails
{
"type": "object",
"properties": {
"status": {
"$ref": "#/components/schemas/MicroDepositStatus"
},
"creationDate": {
"$ref": "#/components/schemas/NoZoneDateTime"
},
"routingNumber": {
"$ref": "#/components/schemas/RoutingNumber"
},
"statusDescription": {
"$ref": "#/components/schemas/MicroDepositStatusDescription"
},
"accountNumberLast4": {
"$ref": "#/components/schemas/AccountNumberLast4"
}
}
}
MicroDepositInitiation
{
"type": "object",
"required": [
"receiver"
],
"properties": {
"receiver": {
"$ref": "#/components/schemas/Receiver"
},
"callbackUrl": {
"$ref": "#/components/schemas/MicroDepositCallbackUrl"
},
"institutionLoginId": {
"$ref": "#/components/schemas/InstitutionLoginId"
}
}
}
MicroDepositStatus
{
"type": "string",
"example": "Pending",
"description": "The following values may be returned in the field of a status:\n\n* \"Pending\" : Micro entries not yet deposited to customer's account\n* \"Completed\": Micro entries deposited to customer's account\n* \"Verified\": Micro entries got successfully verified\n* \"Rejected\": Micro entries got rejected due to some reason\n* \"Returned\": Micro entries got returned back\n* \"Failed\": Micro entries got failed due to some reason\n* \"Expired\": Micro entries got expired as they remains unverified for\ncertain defined days"
}
MicroDepositStatusDescription
{
"type": "string",
"example": "Micro entries are in pending status",
"description": "Micro entries status description"
}
MicroDepositVerification
{
"type": "object",
"required": [
"amounts"
],
"properties": {
"amounts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DecimalNumber"
},
"example": [
0.12,
0.15
],
"description": "The list of amounts to be verified"
}
},
"description": "A list of amounts"
}
MicroDepositVerificationError
{
"type": "object",
"properties": {
"status": {
"$ref": "#/components/schemas/MicroDepositStatus"
},
"statusDescription": {
"$ref": "#/components/schemas/MicroDepositStatusDescription"
}
}
}
MicroEntryVerifyRequestParameter
{
"type": "object",
"properties": {
"webhook": {
"$ref": "#/components/schemas/Webhook"
},
"accountId": {
"$ref": "#/components/schemas/AccountId"
},
"partnerId": {
"$ref": "#/components/schemas/PartnerId"
},
"customerId": {
"$ref": "#/components/schemas/CustomerId"
},
"experience": {
"$ref": "#/components/schemas/Experience"
},
"redirectUri": {
"$ref": "#/components/schemas/RedirectUri"
},
"webhookData": {
"$ref": "#/components/schemas/WebhookData"
},
"webhookHeaders": {
"$ref": "#/components/schemas/WebhookHeaders"
},
"webhookContentType": {
"$ref": "#/components/schemas/WebhookContentType"
}
}
}
MiddleName
{
"type": "string",
"example": "L",
"description": "The middle name of the account holder"
}
MonthlyIncome
{
"type": "object",
"required": [
"estimatedMonthlyTotalPay"
],
"properties": {
"estimatedMonthlyBasePay": {
"type": "number",
"example": 123.45,
"description": "Mastercard Open Banking estimated monthly base pay amount for the employment"
},
"estimatedMonthlyBonusPay": {
"type": "number",
"example": 123.45,
"description": "Mastercard Open Banking estimated monthly bonus pay amount for the employment"
},
"estimatedMonthlyOtherPay": {
"type": "number",
"example": 123.45,
"description": "Mastercard Open Banking estimated monthly other pay amount for the employment"
},
"estimatedMonthlyTotalPay": {
"type": "number",
"example": 123.45,
"description": "Sum of all Mastercard Open Banking estimated monthly pay amounts"
},
"estimatedMonthlyOvertimePay": {
"type": "number",
"example": 123.45,
"description": "Mastercard Open Banking estimated monthly overtime pay amount for the employment"
},
"estimatedMonthlyCommissionPay": {
"type": "number",
"example": 123.45,
"description": "Mastercard Open Banking estimated monthly commission pay amount for the employment"
}
},
"description": "Current estimated monthly pay for the employment.\n\nThis is a mandatory field only for VOIE-payroll report type."
}
MoreResultsAvailable
{
"type": "boolean",
"example": true,
"description": "If the value of `moreAvailable` is \"true\", you can retrieve the next page of results by increasing the value of the start parameter in your next request:\"...&start=6&limit=5\""
}
Name
{
"type": "string",
"example": "Super Checking",
"description": "The account name from the institution"
}
NameClassificationType
{
"type": "string",
"example": "person",
"description": "The classification of the account holder:\n* \"person / personal / home\"\n* \"business\"\n* \"other\""
}
NetMonthly
{
"type": "object",
"required": [
"month",
"net"
],
"properties": {
"net": {
"type": "number",
"example": 2004.77,
"description": "Total income during the given month, across all income streams"
},
"month": {
"type": "integer",
"format": "int64",
"example": 1522562400,
"description": "Timestamp for the first day of this month"
}
}
}
NewAddress
{
"type": "object",
"properties": {
"city": {
"$ref": "#/components/schemas/City"
},
"state": {
"$ref": "#/components/schemas/State"
},
"country": {
"$ref": "#/components/schemas/CountryCode"
},
"postalCode": {
"$ref": "#/components/schemas/ZipCode"
},
"addressLine1": {
"$ref": "#/components/schemas/AddressLine1"
},
"addressLine2": {
"$ref": "#/components/schemas/AddressLine2"
}
}
}
NewBusiness
{
"type": "object",
"required": [
"name",
"personallyLiable",
"address",
"phoneNumber"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://www.finicity.com/",
"maxLength": 2000,
"minLength": 0,
"description": "A URL for the business website"
},
"name": {
"type": "string",
"example": "ABC Tires Inc",
"maxLength": 150,
"minLength": 1,
"description": "The legal name of the business"
},
"type": {
"type": "string",
"example": "Nonprofit",
"maxLength": 150,
"minLength": 0,
"description": "The business type eg LLC, Corp, S Corp, C Corp, B Corp, Sole Propriertorship, Nonprofit, etc."
},
"email": {
"$ref": "#/components/schemas/EmailAddress"
},
"taxId": {
"type": "string",
"example": "A1234561Z",
"maxLength": 15,
"minLength": 9,
"description": "Provide details of the tax id for the business"
},
"address": {
"$ref": "#/components/schemas/NewAddress"
},
"phoneNumber": {
"$ref": "#/components/schemas/PhoneNumberFormat"
},
"personallyLiable": {
"type": "boolean",
"example": true,
"description": "Indicates whether a business owner is personally liable for a loan"
}
}
}
NewConsumer
{
"type": "object",
"required": [
"firstName",
"lastName",
"address",
"city",
"state",
"zip",
"phone",
"ssn",
"birthday"
],
"properties": {
"ssn": {
"$ref": "#/components/schemas/SocialSecurityNumber"
},
"zip": {
"$ref": "#/components/schemas/ZipCode"
},
"city": {
"$ref": "#/components/schemas/City"
},
"email": {
"$ref": "#/components/schemas/EmailAddress"
},
"phone": {
"$ref": "#/components/schemas/PhoneNumber"
},
"state": {
"$ref": "#/components/schemas/State"
},
"suffix": {
"$ref": "#/components/schemas/Suffix"
},
"address": {
"$ref": "#/components/schemas/Address"
},
"birthday": {
"$ref": "#/components/schemas/Birthday"
},
"lastName": {
"$ref": "#/components/schemas/LastName"
},
"firstName": {
"$ref": "#/components/schemas/FirstName"
}
},
"description": "A new consumer to be created"
}
NewCustomer
{
"type": "object",
"required": [
"username"
],
"properties": {
"email": {
"$ref": "#/components/schemas/EmailAddress"
},
"phone": {
"$ref": "#/components/schemas/PhoneNumber"
},
"lastName": {
"$ref": "#/components/schemas/LastName"
},
"username": {
"$ref": "#/components/schemas/CustomerUsername"
},
"firstName": {
"$ref": "#/components/schemas/FirstName"
},
"applicationId": {
"$ref": "#/components/schemas/ApplicationId"
}
},
"description": "A new customer to be enrolled"
}
NewPhoneNumber
{
"type": "string",
"example": "8042221111",
"maxLength": 12,
"description": "A phone number ([E.164](https://en.wikipedia.org/wiki/E.164) format) minLength: 7"
}
NextPaymentDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Mortgage/Loan) Due date for the next payment. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
NoZoneDateTime
{
"type": "string",
"example": "2022-04-12T11:51:23",
"description": "A date-time without time zone"
}
NumericAccountId
{
"type": "integer",
"format": "int64",
"example": 5011648377,
"description": "An account ID represented as a number"
}
NumericCustomerId
{
"type": "integer",
"format": "int64",
"example": 1005061234,
"description": "A customer ID represented as a number. See Add Customer API for how to create a customer ID."
}
NumericInstitutionId
{
"type": "integer",
"format": "int64",
"example": 4222,
"description": "The ID of a financial institution, represented as a number"
}
NumericInstitutionLoginId
{
"type": "integer",
"format": "int64",
"example": 1007302745,
"description": "An institution login ID (from the account record), represented as a number"
}
NumericPreAppId
{
"type": "integer",
"format": "int64",
"example": 2581,
"description": "Identifier to track the application registration from the App Registration and Get App Registration Status APIs, represented as a number"
}
ObbAccountDetails
{
"type": "object",
"required": [
"id",
"institution",
"accountOwner"
],
"properties": {
"id": {
"$ref": "#/components/schemas/NumericAccountId"
},
"name": {
"type": "string",
"example": "Super Checking",
"maxLength": 50,
"minLength": 0,
"description": "The account name from the institution"
},
"type": {
"type": "string",
"example": "checking",
"maxLength": 50,
"minLength": 0,
"description": "Account type, e.g. checking/saving"
},
"status": {
"type": "string",
"example": "active",
"maxLength": 50,
"minLength": 0,
"description": "pending during account discovery, always active following successful account activation"
},
"currency": {
"type": "string",
"example": "USD",
"maxLength": 5,
"minLength": 0,
"description": "The currency of the account"
},
"institution": {
"$ref": "#/components/schemas/ObbInstitution"
},
"accountOwner": {
"$ref": "#/components/schemas/ObbAccountOwner"
},
"currentBalance": {
"type": "number",
"example": 2239.22,
"description": "Current reported balance of the account"
},
"institutionLoginId": {
"$ref": "#/components/schemas/NumericInstitutionLoginId"
},
"accountNumberDisplay": {
"type": "string",
"example": "8888",
"maxLength": 50,
"minLength": 0,
"description": "The account number from a financial institution in truncated format"
},
"aggregationStatusCode": {
"type": "integer",
"example": 0,
"description": "The status of the most recent aggregation attempt. This will not be present until you have run your first aggregation for the account"
},
"aggregationAttemptDate": {
"type": "string",
"example": "2022-03-30T14:47:19-07:00",
"maxLength": 25,
"minLength": 25,
"description": "A timestamp showing the last aggregation attempt. This will not be present until you have run your first aggregation for the account."
},
"aggregationSuccessDate": {
"type": "string",
"example": "2022-03-30T14:47:19-07:00",
"maxLength": 25,
"minLength": 25,
"description": "A timestamp showing the last successful aggregation of the account. This will not be present until you have run your first aggregation for the account."
},
"realAccountNumberLast4": {
"type": "integer",
"example": 5678,
"description": "The last 4 digits of the ACH account number"
}
},
"description": "Details of the account and financial institution"
}
ObbAccountOwner
{
"type": "object",
"required": [
"name",
"address"
],
"properties": {
"name": {
"type": "string",
"example": "Johnny Appleseed",
"maxLength": 255,
"minLength": 0,
"description": "Name of the owner on record for the account"
},
"address": {
"type": "string",
"example": "123 Main St, Portland, OR 12345",
"maxLength": 255,
"minLength": 0,
"description": "Address of the owner on record for the account"
}
},
"description": "Who is on record as the owner of the account. May be the business name, the business owner name, or otherwise."
}
ObbAnalyticsReport
{
"allOf": [
{
"$ref": "#/components/schemas/CashFlowAnalyticsReport"
},
{
"$ref": "#/components/schemas/BalanceAnalyticsReport"
},
{
"$ref": "#/components/schemas/PaymentHistoryReport"
}
],
"description": "Cash Flow Analytics, Balance Analytics, and Payment History report data as JSON"
}
ObbAnalyticsReportAck
{
"type": "object",
"required": [
"reportId",
"reportPin",
"customerId",
"accountIds",
"title",
"createdDate"
],
"properties": {
"title": {
"$ref": "#/components/schemas/ReportTitle"
},
"reportId": {
"$ref": "#/components/schemas/ReportId"
},
"reportPin": {
"type": "string",
"example": "qert",
"maxLength": 50,
"minLength": 0,
"description": "PIN that may be used to access the report"
},
"accountIds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NumericAccountId"
},
"description": "List of account IDs included in the report"
},
"businessId": {
"type": "integer",
"example": 1005061234,
"description": "Business ID associated with the requested customer"
},
"customerId": {
"$ref": "#/components/schemas/NumericCustomerId"
},
"createdDate": {
"type": "string",
"example": "2023-05-17T06:48:22-07:00",
"maxLength": 25,
"minLength": 25,
"description": "Created date of balance analytics request"
},
"requesterName": {
"type": "string",
"example": "Mortgage ABC LLC",
"maxLength": 255,
"minLength": 0,
"description": "Name of requester"
}
},
"description": "Response given when analytics were generated successfully, providing the caller with a report ID which can be used to retrieve the report as JSON or a PDF."
}
ObbAverageWeeklyBalance
{
"type": "object",
"required": [
"week",
"fromDate",
"toDate",
"amount"
],
"properties": {
"week": {
"type": "integer",
"example": 1,
"description": "Week number, where the first week of each year begins on January 1st and ends on January 7th. May be in the range [1, 53]"
},
"amount": {
"type": "number",
"example": 679.07,
"description": "Average daily ending balance during the week"
},
"toDate": {
"type": "string",
"example": "2020-01-07",
"maxLength": 10,
"minLength": 10,
"description": "End date of the week"
},
"fromDate": {
"type": "string",
"example": "2020-01-01",
"maxLength": 10,
"minLength": 10,
"description": "Begin date of the week"
}
}
}
ObbCurrentReportRequestDetails
{
"type": "object",
"required": [
"reportRequestDate",
"requestedDaysForReport",
"requestedReportBeginDate"
],
"properties": {
"reportEndDate": {
"type": "string",
"example": "2022-03-30",
"maxLength": 10,
"minLength": 10,
"description": "Date to which the requested data is available"
},
"reportBeginDate": {
"type": "string",
"example": "2022-03-01",
"maxLength": 10,
"minLength": 10,
"description": "Date from when the requested data is available"
},
"reportRequestDate": {
"type": "string",
"example": "2022-03-30T14:47:19-07:00",
"maxLength": 25,
"minLength": 25,
"description": "The date and time the report was requested"
},
"requestedDaysForReport": {
"type": "integer",
"example": 90,
"description": "Number of days requested for the report"
},
"requestedReportBeginDate": {
"type": "string",
"example": "2022-01-01",
"maxLength": 10,
"minLength": 10,
"description": "Date the report would have begun on if enough data was available for which the partner requested"
}
},
"description": "Requested attributes of the report"
}
ObbDailyBalance
{
"type": "object",
"required": [
"date",
"endingBalance",
"dayOfWeek"
],
"properties": {
"date": {
"type": "string",
"example": "2021-10-11",
"maxLength": 10,
"minLength": 10,
"description": "Date of balance information"
},
"dayOfWeek": {
"type": "string",
"example": "Monday",
"maxLength": 9,
"minLength": 6,
"description": "Day of the week for which balance information available"
},
"endingBalance": {
"type": "number",
"example": 21527.3,
"description": "End of day balance"
}
}
}
ObbDataAvailability
{
"type": "object",
"required": [
"historicAvailableDays",
"historicDataAvailability"
],
"properties": {
"historicAvailableDays": {
"type": "integer",
"example": 30,
"description": "Days for which transaction details are available"
},
"historicDataAvailability": {
"type": "string",
"example": "Data is available from 2022-03-01 to 2022-03-30",
"maxLength": 255,
"minLength": 0,
"description": "Description of historic data availability"
},
"historicAvailabilityEndDate": {
"type": "string",
"example": "2022-03-30",
"maxLength": 10,
"minLength": 10,
"description": "End date for data availability"
},
"historicAvailabilityBeginDate": {
"type": "string",
"example": "2022-03-01",
"maxLength": 10,
"minLength": 10,
"description": "Begin date for data availability"
}
},
"description": "Availability of historical data at the time the report was requested"
}
ObbDateRangeAndAmount
{
"type": "object",
"required": [
"period",
"periodBeginDate",
"periodEndDate"
],
"properties": {
"amount": {
"type": "number",
"example": 890.99,
"description": "Metric value for the given period"
},
"period": {
"type": "string",
"example": "last30to1",
"maxLength": 12,
"minLength": 8,
"description": "Period represented by this metric"
},
"periodEndDate": {
"type": "string",
"example": "2022-03-30",
"maxLength": 10,
"minLength": 10,
"description": "End date of the period being reported"
},
"periodBeginDate": {
"type": "string",
"example": "2022-03-01",
"maxLength": 10,
"minLength": 10,
"description": "Begin date of the period being reported"
}
}
}
ObbDateRangeAndCount
{
"type": "object",
"required": [
"period",
"periodBeginDate",
"periodEndDate",
"count"
],
"properties": {
"count": {
"type": "integer",
"example": 5,
"description": "Count of occurrences for the given period"
},
"period": {
"type": "string",
"example": "last30to1",
"maxLength": 12,
"minLength": 8,
"description": "Period represented by this metric"
},
"periodEndDate": {
"type": "string",
"example": "2022-03-30",
"maxLength": 10,
"minLength": 10,
"description": "End date of the period being reported"
},
"periodBeginDate": {
"type": "string",
"example": "2022-03-01",
"maxLength": 10,
"minLength": 10,
"description": "Begin date of the period being reported"
}
}
}
ObbErrorMessage
{
"type": "object",
"required": [
"errorCode",
"message"
],
"properties": {
"message": {
"type": "string",
"example": "Customer Id does not exist",
"maxLength": 255,
"minLength": 0,
"description": "Detailed reason about the source of the error"
},
"errorCode": {
"type": "integer",
"example": 404,
"description": "Error code"
}
},
"description": "OBB Error response message"
}
ObbInstitution
{
"type": "object",
"required": [
"institutionId"
],
"properties": {
"institutionId": {
"type": "integer",
"example": 12345,
"description": "ID of the financial institution"
},
"institutionName": {
"type": "string",
"example": "Wells Fargo",
"maxLength": 255,
"minLength": 0,
"description": "Name of the financial institution"
},
"institutionIconUrl": {
"type": "string",
"example": "https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/101732/icon.svg",
"maxLength": 255,
"minLength": 0,
"description": "URL of the institution logo icon for reporting"
},
"institutionPrimaryColor": {
"type": "string",
"example": "#1B3E4A",
"maxLength": 7,
"minLength": 7,
"description": "Primary branding color of the institution, in hex color format"
}
},
"description": "Details of the financial institution this account is home to"
}
ObbNumWeeksAverageBalanceIncreasing
{
"type": "object",
"required": [
"historicNumberOfWeeksAverageBalanceIncreasing",
"historicNumberOfWeeksWithDataAvailable",
"historicAverageWeeklyBalances"
],
"properties": {
"historicAverageWeeklyBalances": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObbAverageWeeklyBalance"
},
"description": "Average weekly balances over the known history"
},
"historicNumberOfWeeksWithDataAvailable": {
"type": "integer",
"example": 4,
"description": "Number of weeks during the history in which data was available"
},
"historicNumberOfWeeksAverageBalanceIncreasing": {
"type": "integer",
"example": 3,
"description": "Number of weeks during the known history where the average balance of the account increased week over week"
}
},
"description": "Report of average account balance week over week and count of weeks where the average balance increased"
}
ObbReportHeader
{
"type": "object",
"required": [
"reportId",
"reportDate"
],
"properties": {
"reportId": {
"type": "string",
"example": "8ff8b4b2-706f-45c3-8d66-857bdb516214",
"maxLength": 255,
"minLength": 0,
"description": "Generated unique report ID"
},
"reportDate": {
"type": "string",
"example": "2022-03-16T21:28:38-07:00",
"maxLength": 25,
"minLength": 25,
"description": "Date the report was requested"
},
"businessZip": {
"type": "string",
"example": "12345",
"maxLength": 255,
"minLength": 0,
"description": "Business address zip"
},
"businessCity": {
"type": "string",
"example": "Portland",
"maxLength": 255,
"minLength": 0,
"description": "Business address city"
},
"businessName": {
"type": "string",
"example": "B&G Construction",
"maxLength": 255,
"minLength": 0,
"description": "Name of the business"
},
"businessState": {
"type": "string",
"example": "OR",
"maxLength": 255,
"minLength": 0,
"description": "Business address state"
},
"businessAddress": {
"type": "string",
"example": "123 Main St",
"maxLength": 255,
"minLength": 0,
"description": "Business address line 1"
},
"referenceNumber": {
"type": "string",
"example": "32asdfaasd0823",
"maxLength": 255,
"minLength": 0,
"description": "Partner-provided reference number"
}
},
"description": "Details about the business the report is generated for and metadata about the report"
}
ObbWeekOfYear
{
"type": "object",
"required": [
"week",
"fromDate",
"toDate"
],
"properties": {
"week": {
"type": "integer",
"example": 1,
"description": "Week number, where the first week of each year begins on January 1st and ends on January 7th. May be in the range [1, 53]"
},
"toDate": {
"type": "string",
"example": "2020-01-07",
"maxLength": 10,
"minLength": 10,
"description": "End date of the week"
},
"fromDate": {
"type": "string",
"example": "2020-01-01",
"maxLength": 10,
"minLength": 10,
"description": "Begin date of the week"
}
}
}
OpenDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Checking/Savings/CD/MoneyMarket) Date when account was opened. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
OriginalMaturityDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Mortgage/Loan) Original date of loan maturity. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
OriginalPayrollReportId
{
"type": "string",
"example": "u4hstnnak45g-voiepayroll",
"description": "The report ID of the original payroll report for refresh use cases. If used, only the employment records from the original report will be included in the refreshed report response."
}
OutOfSchoolDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Student Loan) The date the borrower graduated or dropped below half-time enrollment in school. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
PartnerCredentials
{
"type": "object",
"required": [
"partnerId",
"partnerSecret"
],
"properties": {
"partnerId": {
"$ref": "#/components/schemas/PartnerId"
},
"partnerSecret": {
"type": "string",
"example": "aqJ5Ic4SEVx2IgDQ6oR4",
"description": "Your Partner Secret displayed in the [Developer Dashboard](https://developer.mastercard.com/account/log-in)"
}
}
}
PartnerCredentialsWithNewSecret
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/PartnerCredentials"
},
{
"type": "object",
"properties": {
"newPartnerSecret": {
"type": "string",
"example": "OrU7tjiA3tIspCgb85xV",
"description": "A new value for the Partner Secret"
}
}
}
],
"required": [
"partnerId",
"partnerSecret",
"newPartnerSecret"
]
}
PartnerId
{
"type": "string",
"example": "1234583871234",
"description": "Your Partner ID displayed in the [Developer Dashboard](https://developer.mastercard.com/account/log-in)"
}
PartnerName
{
"type": "string",
"example": "Finicity Test API",
"description": "Name of a Finicity partner"
}
PayFrequency
{
"type": "string",
"example": "Weekly",
"description": "The current pay frequency or how often a regular pay check is:\n\n* `Daily` \n\n* `Weekly` \n\n* `Bi-Weekly` \n\n* `Semi-Monthly` \n\n* `Monthly` \n\n* `Quarterly` \n\n* `Semi-Annual` \n\n* `Annual` \n\n* `Every 2.6 wks` \n\n* `Every 4 wks` \n\n* `Every 5.2 wks` \n\n* `Other`\n"
}
PayStat
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "regular 1",
"description": "The normalized category of the earnings with a number appended. The number is the will be the iterating number of the type's occurrence starting at one."
},
"type": {
"$ref": "#/components/schemas/PayStatEarningsCategorizationType"
},
"amountYTD": {
"type": "number",
"example": 18000,
"description": "The amount for the earning line being paid out to the employee for the current pay year."
},
"description": {
"type": "string",
"example": "regular income",
"description": "The earnings line's pay type description"
},
"amountCurrent": {
"type": "number",
"example": 6000,
"description": "The amount for the earning line paid out to the employee for the specified pay period."
}
}
}
PayStatEarningsCategorizationType
{
"type": "string",
"description": "The categorization based on the earning line's description. Possible values:\n* \"bereavement\"\n\n* \"bonus\"\n\n* \"commission\"\n\n* \"holiday\"\n\n* \"jury duty\"\n\n* \"overtime\"\n\n* \"pension\"\n\n* \"pto\"\n\n* \"regular\"\n\n* \"sick\"\n\n* \"tips\"\n\n* \"unknown\"\n\n* \"vacation\"\n\n* \"reimbursement\"\n\n* \"stock\"\n\n* \"benefit\""
}
PayStatement
{
"type": "object",
"required": [
"label",
"statement"
],
"properties": {
"label": {
"type": "string",
"example": "lastPayPeriod",
"description": "The label to be associated with the pay statement. This label will allow the paystub to go through data extraction.\n* `lastPayPeriod`: default label that should be used for the VOIE - Paystub products\n* `lastPayPeriodMinusOne`: the second most recent pay statement\n* `lastPayPeriodMinusTwo`: the third most recent pay statement\n* `previousYearLastPayPeriod` Last pay statement of the previous calendar year\n* `previousYear2LastPayPeriod`: last pay statement of the calendar year 2 years prior\n* `earliestPayPeriod`: the earliest pay statement"
},
"statement": {
"type": "string",
"example": "VGhpcyBtdXN0IGJlIGFuIGltYWdl",
"description": "A Base64 encoded pay statement file. Finicity supports PDF, JPG, or PNG files."
}
},
"description": "A pay statement document and pay statement label"
}
PayStatementData
{
"type": "object",
"required": [
"assetIds"
],
"properties": {
"assetIds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssetId"
},
"description": "A list of pay statement asset IDs"
},
"extractEarnings": {
"$ref": "#/components/schemas/ExtractEarnings"
},
"extractDeductions": {
"$ref": "#/components/schemas/ExtractDeductions"
},
"extractDirectDeposit": {
"$ref": "#/components/schemas/ExtractDirectDeposit"
}
},
"description": "Data to be included within the pay statement report"
}
PayStatementForVoie
{
"type": "object",
"required": [
"billable",
"assetId",
"employer",
"employee",
"payStat",
"monthlyIncome",
"institutions"
],
"properties": {
"assetId": {
"type": "string",
"example": "6f8fb0a0-e882-4f57-b672-cf53f1397581",
"description": "The asset ID of the stored pay statement"
},
"endDate": {
"type": "integer",
"format": "int64",
"example": 1558722600,
"description": "The end of the pay period"
},
"payDate": {
"type": "integer",
"format": "int64",
"example": 1559241000,
"description": "The listed pay date for the pay statement"
},
"payStat": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PayStat"
},
"description": "Information pertaining to the earnings on the pay statement"
},
"billable": {
"type": "boolean",
"example": true,
"description": "This will display true if the pay statement is billable. If a pay statement has been digitized previously, this will display as false as it will not be billable."
},
"employee": {
"$ref": "#/components/schemas/Employee"
},
"employer": {
"$ref": "#/components/schemas/Employer"
},
"errorCode": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "Error code for the asset"
},
"netPayYTD": {
"type": "number",
"example": 36000,
"description": "The total accumulation of pay after deductions for the employee for the current pay year"
},
"payPeriod": {
"type": "string",
"example": "LastPayPeriod",
"description": "The pay period of the pay statement"
},
"startDate": {
"type": "integer",
"format": "int64",
"example": 1557513000,
"description": "The beginning of the pay period"
},
"grossPayYTD": {
"type": "number",
"example": 72600,
"description": "The total accumulation of pay before deductions for the employee for the current pay year"
},
"errorMessage": {
"type": "string",
"example": "Some error message",
"description": "Error message for the asset"
},
"institutions": {
"type": "array",
"items": {
"type": "string"
},
"example": [],
"description": "Not populated for the voieWithStatement style of paystub report. For the VOIE - Paystub (with TXVerify) reports this would include details of the financial institution accounts and income streams with matching transactions to the pay statement."
},
"netPayCurrent": {
"type": "number",
"example": 1802.22,
"description": "The total pay after deductions for the employee for the current pay period"
},
"directDeposits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DirectDeposit"
},
"description": "Information pertaining to the direct deposits on the pay statement"
},
"grossPayCurrent": {
"type": "number",
"example": 24200,
"description": "The total pay before deductions for the employee for the current pay period"
},
"payrollProvider": {
"type": "string",
"example": "Finicity",
"description": "The payroll provider extracted from the pay statement"
}
}
}
PayStatementReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"endDate": {
"$ref": "#/components/schemas/ReportEndDate"
},
"assetIds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssetId"
}
},
"startDate": {
"$ref": "#/components/schemas/ReportStartDate"
},
"reportStyle": {
"$ref": "#/components/schemas/ReportStyle"
},
"payStatements": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VOIEPayStatement"
},
"description": "Extracted pay statement details"
},
"numberOfBillableAssets": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Total number of billable pay statements included in the report"
}
}
}
],
"description": "A Pay Statement report"
}
PayStatementReportAck
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"constraints": {
"$ref": "#/components/schemas/PayStatementReportConstraints"
}
}
}
],
"required": [
"id",
"portfolioId",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"consumerId",
"consumerSsn",
"type",
"status",
"constraints"
],
"description": "A Pay Statement report being generated"
}
PayStatementReportConstraints
{
"type": "object",
"required": [
"paystatementReport"
],
"properties": {
"paystatementReport": {
"$ref": "#/components/schemas/PayStatementData"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
}
}
}
PayStatementsFromDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "Limits the pay statement history in the VOIE - Payroll report income record. Pay statements are only included if the payDate of the statement is equal to or greater than the start date requested. Date should be in Unix epoch time (in seconds). See: Handling Epoch Dates and Times."
}
PaymentDueDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Credit Card/Line Of Credit) Due date for the next payment. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
PaymentHistoryAccountSummary
{
"type": "object",
"required": [
"accountNumberDisplay",
"financialInstitution",
"institutionIcon",
"currency",
"status",
"accountName",
"accountOwner",
"accountType",
"beginningBalance",
"averageMonthlyBalance",
"currentBalance",
"beginDate",
"endDate",
"totalNonSufficientFunds",
"daysSinceNonsufficientFunds"
],
"properties": {
"status": {
"$ref": "#/components/schemas/AccountStatus"
},
"endDate": {
"type": "string",
"example": "2023-06-01",
"description": "End date of account"
},
"currency": {
"$ref": "#/components/schemas/Currency"
},
"beginDate": {
"type": "string",
"example": "2023-06-01",
"description": "Begin date of account"
},
"accountName": {
"type": "string",
"example": "My 401k",
"description": "The account name from the institution"
},
"accountType": {
"$ref": "#/components/schemas/AccountType"
},
"accountOwner": {
"type": "object",
"required": [
"name",
"address"
],
"properties": {
"zip": {
"$ref": "#/components/schemas/ZipCode"
},
"city": {
"$ref": "#/components/schemas/City"
},
"name": {
"$ref": "#/components/schemas/AccountOwnerName"
},
"state": {
"$ref": "#/components/schemas/State"
},
"address": {
"$ref": "#/components/schemas/Address"
}
},
"description": "The account owner information"
},
"currentBalance": {
"type": "number",
"example": 123.45,
"description": "Current balance of account"
},
"institutionIcon": {
"type": "string",
"example": "https://my-sample-app.com/12345/some-icon.jpg",
"description": "URL of institution icon"
},
"beginningBalance": {
"type": "number",
"example": 123.45,
"description": "Beginning balance of account"
},
"accountNumberDisplay": {
"type": "string",
"example": "2222",
"description": "Last four digits of the account"
},
"financialInstitution": {
"type": "string",
"example": "FinBank",
"description": "Name of the account's institution"
},
"averageMonthlyBalance": {
"type": "number",
"example": 123.45,
"description": "Monthly average balance of account"
},
"totalNonsufficientFunds": {
"type": "number",
"example": 123.45,
"description": "Total of NSF transactions in this account"
},
"daysSinceNonsufficientFunds": {
"type": "integer",
"example": 3,
"description": "Days since the latest NSF transaction for this account"
}
},
"description": "Account-level summary of transactions"
}
PaymentHistoryAnalytics
{
"properties": {
"status": {
"type": "string",
"example": "success",
"description": "Report status"
},
"riskScore": {
"type": "number",
"example": 82.45,
"description": "Calculated risk score"
},
"accountSummaries": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentHistoryAccountSummary"
},
"description": "Account-level summary of transactions"
},
"transactionHistory": {
"type": "integer",
"example": 12,
"description": "Months of transactions"
},
"transactionsSummary": {
"$ref": "#/components/schemas/PaymentHistoryTransactionsSummary"
},
"customerSummaryByMonths": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentHistoryCustomerMonthlySummary"
},
"description": "Customer-level summary of transactions per month"
}
},
"description": "Payment History computed analytics"
}
PaymentHistoryCustomerMonthlySummary
{
"type": "object",
"required": [
"month",
"averageBalance",
"closingBalance",
"openingBalance",
"totalDeposits",
"totalWithdrawals",
"nonSufficientFunds",
"insurancePayments",
"taxPayments",
"recurringExpensePayments",
"missedRecurringExpensePayments",
"recurringLoanPayments",
"missedRecurringLoanPayments"
],
"properties": {
"month": {
"type": "string",
"example": "2023-06-01",
"description": "Date of the month"
},
"taxPayments": {
"type": "number",
"example": 123.45,
"description": "Total of tax payment transactions for the month"
},
"totalDeposits": {
"type": "number",
"example": 123.45,
"description": "Total of deposit transactions for the month"
},
"averageBalance": {
"type": "number",
"example": 123.45,
"description": "Average balance for the month"
},
"closingBalance": {
"type": "number",
"example": 123.45,
"description": "Closing balance for the month"
},
"openingBalance": {
"type": "number",
"example": 123.45,
"description": "Opening balance for the month"
},
"totalWithdrawals": {
"type": "number",
"example": 123.45,
"description": "Total of withdrawal transactions for the month"
},
"insurancePayments": {
"type": "number",
"example": 123.45,
"description": "Total of insurance payment transactions for the month"
},
"nonSufficientFunds": {
"type": "number",
"example": 3,
"description": "Total of NSF transactions for the month"
},
"recurringLoanPayments": {
"type": "number",
"example": 543.21,
"description": "Total of recurring loan payment transactions for the month"
},
"recurringExpensePayments": {
"type": "number",
"example": 543.21,
"description": "Total of recurring expense payment transactions for the month"
},
"missedRecurringLoanPayments": {
"type": "number",
"example": 123.45,
"description": "Total of missed recurring loan payment transactions for the month"
},
"missedRecurringExpensePayments": {
"type": "number",
"example": 123.45,
"description": "Total of missed recurring expense payment transactions for the month"
}
},
"description": "Customer-level summary of transactions in a month"
}
PaymentHistoryReport
{
"type": "object",
"required": [
"customerId",
"title",
"reportHeader"
],
"properties": {
"title": {
"$ref": "#/components/schemas/ReportTitle"
},
"analytics": {
"$ref": "#/components/schemas/PaymentHistoryAnalytics"
},
"accountIds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NumericAccountId"
},
"description": "List of account IDs included in the report"
},
"businessId": {
"type": "integer",
"example": 4444,
"description": "Business ID"
},
"customerId": {
"$ref": "#/components/schemas/NumericCustomerId"
},
"reportHeader": {
"$ref": "#/components/schemas/ObbReportHeader"
},
"requesterName": {
"type": "string",
"example": "Mortgage ABC LLC",
"maxLength": 255,
"minLength": 0,
"description": "Name of requester"
}
},
"description": "Payment history report data as JSON",
"x-konfig-properties": {
"reportHeader": {
"description": "Customer and report metadata"
}
}
}
PaymentHistoryTransactionsSummary
{
"type": "object",
"required": [
"totalNonSufficientFunds",
"averageMonthlyNonSufficientFunds",
"totalDeposits",
"averageMonthlyDeposits",
"totalWithdrawals",
"averageMonthlyWithdrawals",
"beginDate",
"endDate"
],
"properties": {
"endDate": {
"type": "string",
"description": "ISO-8601 date of latest transaction"
},
"beginDate": {
"type": "string",
"description": "ISO-8601 date of earliest transaction"
},
"totalDeposits": {
"type": "number",
"description": "Total of deposit transactions"
},
"totalWithdrawals": {
"type": "number",
"description": "Total of withdrawals transactions"
},
"averageMonthlyDeposits": {
"type": "number",
"description": "Monthly average of deposit transactions"
},
"totalNonSufficientFunds": {
"type": "number",
"description": "Total of NSF transactions"
},
"averageMonthlyWithdrawals": {
"type": "number",
"description": "Monthly average of withdrawal transactions"
},
"averageMonthlyNonSufficientFunds": {
"type": "number",
"description": "Monthly average of NSF transactions"
}
},
"description": "Top-level summary of transactions"
}
PaymentInstruction
{
"type": "object",
"required": [
"accountNumber",
"type"
],
"properties": {
"type": {
"type": "string",
"example": "ach",
"description": "The type of payment instruction:\n1. ACH: when payment instruction type is ACH (Automated Clearing House)\n2. RTP: when payment instruction type is RTP (Real-Time Payments)"
},
"descriptors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Descriptor"
},
"description": "List of descriptors"
},
"accountNumber": {
"type": "string",
"example": "124344454",
"description": "The account number from the institution"
},
"transferInEnabled": {
"type": "boolean",
"example": true,
"description": "Indicates whether transfer to this account is enabled or not. Applicable for \"RTP\" type only."
},
"transferOutEnabled": {
"type": "boolean",
"example": true,
"description": "Indicates whether transfer from this account is enabled or not. Applicable for \"RTP\" type only."
}
}
}
PaymentInstructions
{
"type": "object",
"properties": {
"paymentInstruction": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentInstruction"
},
"description": "List of payment instructions"
}
},
"description": "A list of payment instructions"
}
PayoffAmountDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Mortgage/Loan) Date of final payment. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
PayrollAccountId
{
"type": "string",
"example": "018b8f10-fdf8-0ef7-ded5-34a17c34d86f",
"description": "The payroll accountId associated with the payroll account (employer or payroll provider)."
}
PayrollData
{
"type": "object",
"required": [
"ssn",
"dob"
],
"properties": {
"dob": {
"$ref": "#/components/schemas/ConsumerDateOfBirth"
},
"ssn": {
"$ref": "#/components/schemas/SocialSecurityNumberNoHyphens"
},
"reportId": {
"$ref": "#/components/schemas/OriginalPayrollReportId"
}
}
}
PayrollDataOut
{
"type": "object",
"properties": {
"reportId": {
"$ref": "#/components/schemas/ReportId"
},
"employmentIds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmploymentId"
},
"description": "An array of employmentIds"
},
"payrollAccountIds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PayrollAccountId"
},
"description": "An array of payrollAccountIds"
},
"payrollDataRetrievalId": {
"type": "string",
"example": "hahvhe2k0000",
"description": "An ID to identify the data retrieved from the payroll providers for the report."
}
}
}
PayrollEmployeeAddress
{
"type": "object",
"properties": {
"zip": {
"type": "string",
"example": "99999",
"description": "Employee zip code as stated by the employer in the payroll system"
},
"city": {
"type": "string",
"example": "City",
"description": "Employee city as stated by the employer in the payroll system"
},
"state": {
"type": "string",
"example": "TX",
"description": "Employee state as stated by the employer in the payroll system"
},
"address1": {
"type": "string",
"example": "Address 1",
"description": "Employee address as stated by the employer in the payroll system"
}
}
}
PayrollEmployeeRecord
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "John Doe Smith",
"description": "Full name of the employee: first, middle (if stated), and last name"
},
"address": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PayrollEmployeeAddress"
},
"description": "Array of addresses"
},
"givenName": {
"type": "string",
"example": "John",
"description": "First name of employee"
},
"familyName": {
"type": "string",
"example": "Smith",
"description": "Last name of employee"
},
"middleName": {
"type": "string",
"example": "Doe",
"description": "Middle name of employee, if stated"
}
}
}
PayrollEmployerAddress
{
"type": "object",
"properties": {
"zip": {
"type": "string",
"example": "99999",
"description": "Employer zip code as stated by the employer in the payroll system"
},
"city": {
"type": "string",
"example": "City",
"description": "Employer city as stated by the employer in the payroll system"
},
"state": {
"type": "string",
"example": "TX",
"description": "Employer state as stated by the employer in the payroll system"
},
"address1": {
"type": "string",
"example": "Address 1",
"description": "Employer address as stated by the employer in the payroll system"
}
}
}
PayrollEmploymentHistoryVOE
{
"type": "object",
"required": [
"asOfDate",
"employerName",
"payrollSource",
"employee",
"employment",
"income"
],
"properties": {
"income": {
"$ref": "#/components/schemas/PayrollVOEIncomeRecord"
},
"asOfDate": {
"$ref": "#/components/schemas/AsOfDate"
},
"employee": {
"$ref": "#/components/schemas/PayrollEmployeeRecord"
},
"employment": {
"$ref": "#/components/schemas/PayrollEmploymentRecord"
},
"employerName": {
"$ref": "#/components/schemas/EmployerName"
},
"payrollSource": {
"type": "string",
"example": "finPayroll",
"description": "The name of the payroll source where the data was retrieved"
}
}
}
PayrollEmploymentHistoryVOIE
{
"type": "object",
"required": [
"asOfDate",
"employerName",
"payrollSource",
"employee",
"employment",
"income"
],
"properties": {
"income": {
"$ref": "#/components/schemas/PayrollVOIEIncomeRecord"
},
"asOfDate": {
"$ref": "#/components/schemas/AsOfDate"
},
"employee": {
"$ref": "#/components/schemas/PayrollEmployeeRecord"
},
"employment": {
"$ref": "#/components/schemas/PayrollEmploymentRecord"
},
"employerName": {
"$ref": "#/components/schemas/EmployerName"
},
"employmentId": {
"$ref": "#/components/schemas/EmploymentId"
},
"payrollSource": {
"type": "string",
"example": "finPayroll",
"description": "The name of the payroll source where the data was retrieved"
}
}
}
PayrollEmploymentRecord
{
"type": "object",
"required": [
"employerName",
"employmentStatusCode",
"employmentStatusName",
"workLevelStatus"
],
"properties": {
"employerName": {
"$ref": "#/components/schemas/EmployerName"
},
"latestPayDate": {
"type": "integer",
"format": "int64",
"example": 1596175200,
"description": "The most recent pay date from an employer"
},
"legalEntityId": {
"type": "string",
"example": "752760000",
"description": "Employer identification number (EIN)"
},
"positionTitle": {
"type": "string",
"example": "Shift Supervisor",
"description": "Employee job title"
},
"workLevelCode": {
"type": "string",
"example": "FT",
"description": "The abbreviate code for the employment level names (workLevelName) that we receive from the employer"
},
"workLevelName": {
"type": "string",
"example": "Full Time-Regular",
"description": "The employment level name is whatever we receive from the employer, such as full time, part time, temp, contractor, and more"
},
"latestHireDate": {
"type": "integer",
"format": "int64",
"example": 1527832800,
"description": "If an employee leaves the company and returns later, then the employer states the latest hire date at the company"
},
"employerAddress": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PayrollEmployerAddress"
},
"description": "Array of addresses"
},
"workLevelStatus": {
"type": "string",
"example": "Full Time",
"description": "The categorized work level status. Enumerations are:\n\n* `Temporary`\n\n* `Seasonal`\n\n* `Retired`\n\n* `Student`\n\n* `Full Time`\n\n* `Part Time`\n\n* `Unspecified`\n\nThis is a new field, currently enabled only for testing reports. It will be added for all reports in August 2021.\n"
},
"daysSinceLastPay": {
"type": "integer",
"format": "int32",
"example": 10,
"description": "The number of days since an employee was last paid"
},
"originalHireDate": {
"type": "integer",
"format": "int64",
"example": 1527832800,
"description": "The original hired date of an employee at the company"
},
"positionDuration": {
"type": "string",
"example": "P1Y6M0D",
"description": "The length of time an employee has been employed at their current or latest position for this employment in ISO 8601 format (eg P1Y6M0D)"
},
"employmentEndDate": {
"type": "integer",
"format": "int64",
"example": 1527832800,
"description": "The date an employee ended their employment at the company"
},
"employmentDuration": {
"type": "string",
"example": "P1Y6M0D",
"description": "The length of time an employee has been employed with that employer in ISO 8601 format (e.g. P1Y6M0D)"
},
"employmentStatusCode": {
"type": "string",
"example": "A",
"description": "'Status codes: `A` - Active, `NLE` - No Longer Employed, `L` - Leave, `O` - Other', `I` - Inactive, `U` - Unknown'"
},
"employmentStatusName": {
"type": "string",
"example": "Active",
"description": "'Status name: `Active`, `No Longer Employed`, `Leave` or `Other`, `Inactive`, or `Unknown`'"
},
"latestPayPeriodEndDate": {
"type": "integer",
"format": "int64",
"example": 1596175201,
"description": "The most recent pay periodβs end date."
},
"derivedEmploymentStatus": {
"type": "boolean",
"example": true,
"description": "Describes the employment status - it will be true if it is not directly stated by the employer, and false otherwise"
},
"numberPayCadenceWithoutPay": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "The number of pay cadences an employee has not been paid; determined by the pay frequency"
}
}
}
PayrollReportAck
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"constraints": {
"$ref": "#/components/schemas/PayrollReportConstraintsOut"
},
"reportStyle": {
"$ref": "#/components/schemas/ReportStyle"
}
}
}
],
"required": [
"id",
"portfolioId",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"consumerId",
"consumerSsn",
"type",
"status",
"constraints"
],
"description": "A Payroll report being generated"
}
PayrollReportConstraints
{
"type": "object",
"required": [
"payrollData"
],
"properties": {
"purpose": {
"$ref": "#/components/schemas/PurposeCode"
},
"payrollData": {
"$ref": "#/components/schemas/PayrollData"
},
"marketSegment": {
"$ref": "#/components/schemas/MarketSegment"
},
"excludeEmpInfo": {
"$ref": "#/components/schemas/ExcludeEmpInfo"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"payStatementsFromDate": {
"$ref": "#/components/schemas/PayStatementsFromDate"
}
}
}
PayrollReportConstraintsOut
{
"type": "object",
"required": [
"payrollData"
],
"properties": {
"payrollData": {
"$ref": "#/components/schemas/PayrollDataOut"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"payStatementsFromDate": {
"$ref": "#/components/schemas/UnixDate"
}
}
}
PayrollVOEIncomeRecord
{
"type": "object",
"properties": {
"payFrequency": {
"$ref": "#/components/schemas/PayFrequency"
}
}
}
PayrollVOIEIncomeRecord
{
"type": "object",
"properties": {
"payType": {
"type": "string",
"example": "Daily",
"description": "The current pay type:\n\n* `Salary`\n\n* `Hourly`\n\n* `Daily`\n"
},
"basePayRate": {
"type": "number",
"example": 1234.56,
"description": "The current base or regular pay rate. Please use in conjunction with the `basePayRateUnit` field."
},
"annualIncome": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AnnualIncome"
},
"description": "The annual pay for the current year, through prior year 2 (as available)\n\nThis is a mandatory field only for VOIE-payroll report type."
},
"payFrequency": {
"$ref": "#/components/schemas/PayFrequency"
},
"monthlyIncome": {
"$ref": "#/components/schemas/MonthlyIncome"
},
"basePayRateUnit": {
"type": "string",
"example": "Annual",
"description": "Unit for the base pay rate:\n\n* `Hourly`\n\n* `Daily`\n\n* `Weekly`\n\n* `Bi-Weekly`\n\n* `Semi-Monthly`\n\n* `Monthly`\n\n* `Quarterly`\n\n* `Semi-Annual`\n\n* `Annual`\n\n* `Every 2.6 wks`\n\n* `Every 5.2 wks`\n\n* `Other`\n"
},
"directPayStatements": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DirectPayStatements"
},
"description": "An array of payment histories for each available paycheck"
},
"oldestPayStatementAvailable": {
"type": "string",
"example": 1527832900,
"description": "The date of the oldest direct pay statement available from the payroll source, as measured by the oldest `payDate` from all the pay statements delivered."
}
}
}
PaystubMonthlyIncomeRecord
{
"type": "object",
"properties": {
"estimatedMonthlyBasePay": {
"type": "number",
"example": 2000,
"description": "The estimated monthly base pay amount for the employment from the paystub, calculated by Finicity"
},
"estimatedMonthlyBonusPay": {
"type": "number",
"example": 20,
"description": "The estimated monthly bonus pay amount for the employment from the paystub, calculated by Finicity"
},
"estimatedMonthlyOvertimePay": {
"type": "number",
"example": 50,
"description": "The estimated monthly overtime pay amount for the employment from the paystub, calculated by Finicity"
},
"estimatedMonthlyCommissionPay": {
"type": "number",
"example": 50,
"description": "The estimated commission bonus pay amount for the employment from the paystub, calculated by Finicity"
}
}
}
PaystubTxVerifyMonthlyIncomeRecord
{
"type": "object",
"properties": {
"estimatedMonthlyBasePay": {
"type": "number",
"example": 2000,
"description": "The estimated monthly base pay amount for the employment from the paystub, calculated by Finicity"
},
"estimatedMonthlyBonusPay": {
"type": "number",
"example": 20,
"description": "The estimated monthly bonus pay amount for the employment from the paystub, calculated by Finicity"
},
"estimatedMonthlyOtherPay": {
"type": "number",
"example": 150,
"description": "The estimated monthly other pay amount for the employment from the paystub, calculated by Finicity"
},
"estimatedMonthlyTotalPay": {
"type": "number",
"example": 2120,
"description": "The estimated monthly total pay amount for the employment from the paystub, calculated by Finicity"
},
"estimatedMonthlyOvertimePay": {
"type": "number",
"example": 50,
"description": "The estimated monthly overtime pay amount for the employment from the paystub, calculated by Finicity"
},
"estimatedMonthlyCommissionPay": {
"type": "number",
"example": 50,
"description": "The estimated commission bonus pay amount for the employment from the paystub, calculated by Finicity"
}
}
}
PeriodEndDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "End date of period. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
PeriodStartDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Checking/Savings/CD/MoneyMarket) Start date of period. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
PhoneCarrier
{
"type": "string",
"example": "Vodafone UK ltd.",
"description": "The company that provides voice and/or data services for the phone number. Carriers are returned at the MVNO level."
}
PhoneCountry
{
"type": "string",
"example": "61",
"description": "Country calling code of the phone number as defined by ITU-T E.123 and E.164 international standards (max length 3)\"."
}
PhoneCountryCode
{
"type": "string",
"example": "UK",
"description": "The ISO-3166 alpha-2 country code associated with the phone number."
}
PhoneEmailFirstSeenDays
{
"type": "number",
"example": 54,
"description": "Count of days since the combination of phone and email was first observed in Ekata's Identity Network. If that combination has not been observed before, `phoneEmailFirstSeenDays` will be 0."
}
PhoneLastSeenDays
{
"type": "number",
"example": 42,
"description": "Count of days since the phone was last observed in Ekata's Identity Network. If the phone has not been observed before, `phoneLastSeenDays` will be 0."
}
PhoneLineType
{
"type": "string",
"example": "mobile",
"description": "The line type of the phone number.\n* landline - traditional wired phone line.\n* fixed-voip - VoIP-based fixed line phones.\n* mobile - wireless phone line.\n* voicemail - voicemail-only service.\n* toll-free - callee pays for call.\n* premium - caller pays a premium for the call-e.g., 976 area code.\n* non-fixed-voip - Skype, for example * other - anything that does not match the previous categories."
}
PhoneNumber
{
"type": "string",
"example": "1-801-984-4200",
"description": "A phone number (max length 15)."
}
PhoneNumberFormat
{
"type": "object",
"properties": {
"phoneNo": {
"$ref": "#/components/schemas/NewPhoneNumber"
},
"countryCode": {
"$ref": "#/components/schemas/CountryCodeNumber"
}
}
}
PhoneToAddress
{
"type": "string",
"example": "match",
"description": "The match status between the input phone and the queried entity.\n* match - Phone location matches input address line 1, address line 2, city, state, and postal code. \n\n* postal-match - Phone location postal code matches input address postal code. \n\n* zip4-match - Phone location postal code zip+4 matches input address postal code zip+4. \n\n* city-state-match - Phone location city and state matches input address city and state. \n* metro-match - Phone location is in the same metro area as input address. \n\n* country-match - Phone location country matches input address country. \n\n* no-match - Phone location does not match input address."
}
PhoneToName
{
"type": "string",
"example": "match",
"description": "The match status between the input name and the queried entity.\n\n* not-found\n\n* match\n\n* no-match"
}
PhoneValid
{
"type": "boolean",
"example": true,
"description": "True if the phone number is valid."
}
PortfolioConsumer
{
"type": "object",
"required": [
"id",
"firstName",
"lastName",
"customerId",
"ssn",
"birthday"
],
"properties": {
"id": {
"$ref": "#/components/schemas/ConsumerId"
},
"ssn": {
"$ref": "#/components/schemas/SocialSecurityNumber"
},
"suffix": {
"$ref": "#/components/schemas/Suffix"
},
"birthday": {
"$ref": "#/components/schemas/Birthday"
},
"lastName": {
"$ref": "#/components/schemas/LastName"
},
"firstName": {
"$ref": "#/components/schemas/FirstName"
},
"customerId": {
"$ref": "#/components/schemas/NumericCustomerId"
}
}
}
PortfolioId
{
"type": "string",
"example": "y4zsgccj4xpw-6-port",
"description": "A unique identifier that will be consistent across all reports created for the same customer"
}
PortfolioReport
{
"type": "object",
"required": [
"id",
"portfolioId",
"type",
"status",
"createdDate"
],
"properties": {
"id": {
"$ref": "#/components/schemas/ReportId"
},
"type": {
"$ref": "#/components/schemas/ReportType"
},
"status": {
"$ref": "#/components/schemas/ReportStatus"
},
"createdDate": {
"$ref": "#/components/schemas/UnixDate"
},
"portfolioId": {
"$ref": "#/components/schemas/PortfolioId"
}
}
}
PortfolioSummary
{
"type": "object",
"required": [
"portfolioId",
"reports"
],
"properties": {
"reports": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PortfolioReport"
},
"description": "A list of reports in the portfolio"
},
"portfolioId": {
"$ref": "#/components/schemas/PortfolioId"
}
}
}
PortfolioWithConsumerSummary
{
"allOf": [
{
"$ref": "#/components/schemas/PortfolioSummary"
},
{
"type": "object",
"properties": {
"consumer": {
"$ref": "#/components/schemas/PortfolioConsumer"
}
}
}
],
"required": [
"portfolioId",
"consumer",
"reports"
]
}
PreAppId
{
"type": "string",
"example": "2581",
"description": "Identifier to track the application registration from the App Registration and Get App Registration Status APIs"
}
PrequalificationReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"example": 230,
"description": "The number of days covered by the report"
},
"assets": {
"$ref": "#/components/schemas/PrequalificationReportAssetSummary"
},
"endDate": {
"$ref": "#/components/schemas/ReportEndDate"
},
"seasoned": {
"type": "boolean",
"example": true,
"description": "\"true\" if the report covers more than 180 days"
},
"startDate": {
"$ref": "#/components/schemas/ReportStartDate"
},
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportInstitution"
},
"description": "A list of institution records, including information about the individual accounts in this report"
},
"consolidatedAvailableBalance": {
"type": "number",
"example": 1929.57,
"description": "The sum of available balance for all of the accounts included in the report"
}
}
}
],
"description": "A Prequalification report"
}
PrequalificationReportAccount
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1000023996,
"description": "The ID of the account"
},
"name": {
"type": "string",
"example": "Checking",
"description": "The account name from the institution"
},
"type": {
"type": "string",
"example": "checking",
"description": "One of the values from account types"
},
"asset": {
"$ref": "#/components/schemas/PrequalificationReportAssetSummary"
},
"number": {
"type": "string",
"example": "1111",
"description": "The account number from the institution (all digits except the last four are obfuscated)"
},
"balance": {
"type": "number",
"example": 501.24,
"description": "The cleared balance of the account as-of `balanceDate`"
},
"details": {
"$ref": "#/components/schemas/AccountDetails"
},
"ownerName": {
"$ref": "#/components/schemas/ReportAccountOwnerName"
},
"balanceDate": {
"type": "integer",
"format": "int64",
"example": 1588350276,
"description": "A timestamp of the balance"
},
"ownerAddress": {
"$ref": "#/components/schemas/ReportAccountOwnerAddress"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransaction"
},
"description": "a list of transaction records"
},
"availableBalance": {
"type": "number",
"example": 1000,
"description": "Available balance"
},
"aggregationStatusCode": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The status of the most recent aggregation attempt"
},
"averageMonthlyBalance": {
"type": "number",
"example": 501.02,
"description": "The average monthly balance of the account"
},
"totNumberInsufficientFundsFeeDebitTxAccount": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The count for the total number of insufficient funds transactions, based on the `fromDate` of the report"
},
"totNumberInsufficientFundsFeeDebitTxOver6MonthsAccount": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The total number of insufficient funds fees for the account over six months"
},
"totNumberDaysSinceMostRecentInsufficientFundsFeeDebitTxAccount": {
"type": "integer",
"format": "int64",
"example": 120,
"description": "The total number of days since the most recent insufficient funds fee for the account"
}
}
}
PrequalificationReportAck
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"constraints": {
"$ref": "#/components/schemas/PrequalificationReportConstraintsOut"
}
}
}
],
"required": [
"id",
"portfolioId",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"consumerId",
"consumerSsn",
"type",
"status",
"constraints"
],
"description": "A Prequalification report being generated"
}
PrequalificationReportAssetSummary
{
"type": "object",
"required": [
"currentBalance",
"twoMonthAverage",
"beginningBalance"
],
"properties": {
"type": {
"type": "string",
"example": "checking",
"description": "The asset type: \"checking\", \"savings\", \"moneyMarket\", \"cd\", \"investment\""
},
"currentBalance": {
"type": "number",
"example": 1000,
"description": "The current balance of the account"
},
"sixMonthAverage": {
"type": "number",
"example": -7616.01,
"description": "The six month average daily balance of the account"
},
"twoMonthAverage": {
"type": "number",
"example": -1865.96,
"description": "The two month average daily balance of the account"
},
"availableBalance": {
"type": "number",
"example": 1000,
"description": "The available balance for the account"
},
"beginningBalance": {
"type": "number",
"example": -17795.6,
"description": "The beginning balance of the account per the time period of the report"
}
}
}
PrequalificationReportConstraints
{
"type": "object",
"properties": {
"showNsf": {
"$ref": "#/components/schemas/ShowNsf"
},
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIdsString"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
}
}
}
PrequalificationReportConstraintsOut
{
"type": "object",
"properties": {
"showNsf": {
"$ref": "#/components/schemas/ShowNsf"
},
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIds"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
}
}
}
PurposeCode
{
"type": "string",
"example": "31",
"description": "FCRA required 2-digit Permissible Purpose Code, specifying the reason for retrieving this report."
}
Receiver
{
"type": "object",
"required": [
"routingNumber",
"accountNumber",
"accountType",
"name"
],
"properties": {
"memo": {
"type": "string",
"example": "micro deposit transfer",
"description": "Transaction memo to be displayed for transactions"
},
"name": {
"type": "string",
"example": "Bob Smith",
"description": "Name of the customer"
},
"accountType": {
"type": "string",
"example": "checking",
"description": "The list of supported account types.\n* \"checking\": Standard checking\n* \"savings\": Standard savings"
},
"accountNumber": {
"type": "string",
"example": "123456",
"description": "Micro entries receiving account number of bank"
},
"routingNumber": {
"$ref": "#/components/schemas/RoutingNumber"
}
}
}
RedirectUri
{
"type": "string",
"example": "https://www.finicity.com/connect/",
"description": "The URL that customers will be redirected to after completing Finicity Connect. Required unless Connect is embedded inside our application (iframe)."
}
RegisteredApplication
{
"type": "object",
"required": [
"preAppId",
"status"
],
"properties": {
"status": {
"$ref": "#/components/schemas/AppRegistrationStatus"
},
"preAppId": {
"$ref": "#/components/schemas/NumericPreAppId"
}
}
}
RepaymentPlanEndDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Student Loan) The end date of the current repayment plan. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
RepaymentPlanStartDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Student Loan) The start date of the current repayment plan. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
Report
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/AFBalanceAnalyticsReport"
},
{
"$ref": "#/components/schemas/AFCashFlowAnalyticsReport"
},
{
"$ref": "#/components/schemas/CashFlowReport"
},
{
"$ref": "#/components/schemas/PrequalificationReport"
},
{
"$ref": "#/components/schemas/PayStatementReport"
},
{
"$ref": "#/components/schemas/StatementReport"
},
{
"$ref": "#/components/schemas/TransactionsReport"
},
{
"$ref": "#/components/schemas/VOAReport"
},
{
"$ref": "#/components/schemas/VOAWithIncomeReport"
},
{
"$ref": "#/components/schemas/VOEPayrollReport"
},
{
"$ref": "#/components/schemas/VOETransactionsReport"
},
{
"$ref": "#/components/schemas/VOIReport"
},
{
"$ref": "#/components/schemas/VOIEPayrollReport"
},
{
"$ref": "#/components/schemas/VOIEPaystubReport"
},
{
"$ref": "#/components/schemas/VOIEPaystubWithTXVerifyReport"
}
],
"required": [
"id",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"type",
"status"
],
"description": "A report"
}
ReportAccountIds
{
"type": "array",
"items": {
"$ref": "#/components/schemas/AccountId"
},
"example": [
"5011648377",
"5011648378",
"5011648379"
],
"description": "An array of account IDs to be included in the report (all accounts will be included if not set)"
}
ReportAccountIdsString
{
"type": "string",
"example": "5011648377 5011648378 5011648379",
"description": "A whitespace-separated list of account IDs to be included in the report (all accounts will be included if not set)"
}
ReportAccountOwnerAddress
{
"type": "string",
"example": "7195 BELMONT ST. PARLIN, NJ 08859",
"description": "The mailing address of the account owner(s). If the owner information is not available, this field will not appear in the report. If the account has multiple owners then the address of the primary owner will be listed."
}
ReportAccountOwnerName
{
"type": "string",
"example": "PATRICK PURCHASER|LORRAINE PURCHASER",
"description": "The name(s) of the account owner(s). If the owner information is not available, this field will not appear in the report. If the account has multiple owners then all owners will be listed separated by |."
}
ReportAccountPosition
{
"type": "object",
"properties": {
"id": {
"type": "number",
"example": 637054,
"description": "The id of the investment position"
},
"units": {
"type": "number",
"example": 5,
"description": "The number of units of the holding"
},
"symbol": {
"type": "string",
"example": "MCD",
"description": "The investment positionβs market ticker symbol"
},
"currency": {
"type": "string",
"example": "USD",
"description": "What currency the account operates in"
},
"marketValue": {
"type": "number",
"example": 1403.55,
"description": "Market value of an investment position at the time of retrieval"
},
"currentPrice": {
"type": "number",
"example": 280.71,
"description": "The current price of the investment holding"
},
"securityName": {
"type": "string",
"example": "Common Stock",
"description": "The security name for the investment holding"
},
"securityType": {
"type": "number",
"example": null,
"description": "Type of security of the investment position"
}
}
}
ReportCreatedDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/). Note: If the report is retrieved on a day other than the day it was generated, on the header of the PDF version of the report there will be a \"Retrieved Date\" populated."
}
ReportCustomField
{
"type": "object",
"properties": {
"label": {
"type": "string",
"example": "loanID",
"description": "The name of the custom field"
},
"shown": {
"type": "boolean",
"example": true,
"description": "If the custom field will show on the PDF or not"
},
"value": {
"type": "string",
"example": "123456",
"description": "The value of the custom field"
}
}
}
ReportCustomFields
{
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportCustomField"
},
"description": "The `reportCustomFields` parameter is used when experiences are associated with a credit decisioning report.\n\nDesignate up to 5 custom fields that you'd like associated with the report when it's generated. Every custom field consists of three variables: `label`, `value`, and `shown`. The `shown` variable is \"true\" or \"false\".\n* \"true\": (default) display the custom field in the PDF report\n* \"false\": don't display the custom field in the PDF report\n\nFor an experience that generates multiple reports, the `reportCustomFields` parameter gets passed to all reports.\n\nAll custom fields display in the Reseller Billing API."
}
ReportEndDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "The `postedDate` of the latest transaction analyzed for the report. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
ReportId
{
"type": "string",
"example": "u4hstnnak45g",
"description": "A report ID"
}
ReportIncomeEstimate
{
"type": "object",
"required": [
"netAnnual",
"projectedNetAnnual",
"estimatedGrossAnnual",
"projectedGrossAnnual"
],
"properties": {
"netAnnual": {
"type": "number",
"example": 1000.12,
"description": "Sum of all values in `netMonthlyIncome` over the previous 12 months"
},
"projectedNetAnnual": {
"type": "number",
"example": 1500.23,
"description": "Projected net income over the next 12 months, across all income streams, based on `netAnnualIncome`"
},
"estimatedGrossAnnual": {
"type": "number",
"example": 2000.12,
"description": "Before-tax gross annual income (estimated from `netAnnual`) across all income stream in the past 12 months"
},
"projectedGrossAnnual": {
"type": "number",
"example": 2500.23,
"description": "Projected gross income over the next 12 months, across all active income streams, based on `projectedNetAnnual`"
}
}
}
ReportIncomeStreamSummary
{
"type": "object",
"required": [
"confidenceType",
"netMonthly",
"incomeEstimate"
],
"properties": {
"netMonthly": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NetMonthly"
},
"description": "A list of net monthly records. One instance for each complete calendar month in the report."
},
"confidenceType": {
"$ref": "#/components/schemas/EstimateInclusion"
},
"incomeEstimate": {
"$ref": "#/components/schemas/ReportIncomeEstimate"
}
}
}
ReportInstitution
{
"type": "object",
"required": [
"id",
"name",
"urlHomeApp"
],
"properties": {
"id": {
"$ref": "#/components/schemas/NumericInstitutionId"
},
"name": {
"type": "string",
"example": "FinBank Profiles",
"description": "Finicity institution name"
},
"accounts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportInstitutionAccount"
},
"description": "A list of account records"
},
"urlHomeApp": {
"type": "string",
"example": "http://www.finbank.com",
"description": "The URL of the Financial Institution"
}
}
}
ReportInstitutionAccount
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/AnalyticsReportsAccount"
},
{
"$ref": "#/components/schemas/CashFlowReportAccount"
},
{
"$ref": "#/components/schemas/PrequalificationReportAccount"
},
{
"$ref": "#/components/schemas/TransactionsReportAccount"
},
{
"$ref": "#/components/schemas/VOAReportAccount"
},
{
"$ref": "#/components/schemas/VOAWithIncomeReportAccount"
},
{
"$ref": "#/components/schemas/VOETransactionsReportAccount"
},
{
"$ref": "#/components/schemas/VOIReportAccount"
},
{
"$ref": "#/components/schemas/VOIETXVerifyReportAccount"
}
],
"description": "An account record"
}
ReportPin
{
"type": "string",
"example": "2398jk",
"description": "A unique key returned per report for consumer Portal"
}
ReportRequestId
{
"type": "string",
"example": "cjqm4wtdcn",
"description": "Finicity indicator to track all activity associated with this report"
}
ReportStartDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "The `postedDate` of the earliest transaction analyzed for the report. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
ReportStatus
{
"type": "string",
"example": "inProgress",
"description": "A report generation status. Possible values:\n\n* `inProgress`\n\n* `success`\n\n* `failure`\n"
}
ReportStyle
{
"type": "string",
"example": "credentialedPayroll",
"description": "A report style. Possible values are directAPIPayroll, credentialedPayroll, paystatement, voieWithInterview, voieWithStatement, voieWithReport"
}
ReportSummaries
{
"type": "object",
"required": [
"reports"
],
"properties": {
"reports": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportSummary"
},
"description": "Data pertaining to each report"
}
}
}
ReportSummary
{
"required": [
"id",
"requestId",
"requesterName",
"createdDate",
"type",
"status"
],
"properties": {
"id": {
"$ref": "#/components/schemas/ReportId"
},
"type": {
"$ref": "#/components/schemas/ReportType"
},
"status": {
"$ref": "#/components/schemas/ReportStatus"
},
"requestId": {
"$ref": "#/components/schemas/ReportRequestId"
},
"consumerId": {
"$ref": "#/components/schemas/ConsumerId"
},
"consumerSsn": {
"$ref": "#/components/schemas/SocialSecurityNumberLastDigits"
},
"createdDate": {
"$ref": "#/components/schemas/UnixDate"
},
"requesterName": {
"$ref": "#/components/schemas/PartnerName"
}
}
}
ReportTitle
{
"type": "string",
"example": "Finicity Asset Ready Report (CRA)",
"description": "Title of the report"
}
ReportTransaction
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/ReportTransactionBase1"
},
{
"$ref": "#/components/schemas/ReportTransactionBase2"
}
]
}
ReportTransactionBase1
{
"type": "object",
"required": [
"id",
"postedDate",
"description"
],
"properties": {
"id": {
"$ref": "#/components/schemas/TransactionId"
},
"memo": {
"type": "string",
"example": "Some St Somewhere City State",
"description": "The memo field of the transaction, as provided by the institution. The institution must provide either a description, a memo, or both. It is recommended to concatenate the two fields into a single value."
},
"amount": {
"type": "number",
"example": 100,
"description": "The total amount of the transaction. Transactions for deposits are positive values, withdrawals and debits are negative values."
},
"postedDate": {
"type": "integer",
"format": "int64",
"example": 1571313600,
"description": "A timestamp showing when the transaction was posted or cleared by the institution"
},
"description": {
"type": "string",
"example": "ATM CHECK DEPOSIT mm/dd",
"description": "The description of the transaction, as provided by the institution (often known as `payee`). In the event that this field is left blank by the institution, Finicity will pass a value of \"No description provided by institution\". All other values are provided by the institution."
}
}
}
ReportTransactionBase2
{
"type": "object",
"properties": {
"type": {
"type": "string",
"example": "debit",
"description": "One of the values from transaction types"
},
"symbol": {
"type": "string",
"example": "DAL",
"description": "Investment symbol (VOA only)"
},
"category": {
"type": "string",
"example": "Income",
"description": "One of the values from Categories (assigned based on the payee name)"
},
"commission": {
"type": "number",
"example": 0,
"description": "A commission amount"
},
"securityType": {
"type": "string",
"example": "Stock",
"description": "The type of investment security (VOA only)"
},
"normalizedPayee": {
"type": "string",
"example": "T-Mobile",
"description": "A normalized payee, derived from the transaction's `description` and `memo` fields"
},
"institutionTransactionId": {
"type": "string",
"example": "0000000000",
"description": "The unique identifier given by the FI for each transaction"
}
}
}
ReportTransactionNewTxBased
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/ReportTransactionBase1"
},
{
"type": "object",
"properties": {
"investmentTransactionType": {
"type": "string",
"example": "dividend",
"description": "Keywords in the description and memo fields were used to translate investment transactions into these types\n\n* `cancel`\n\n* `purchaseToClose`\n\n* `purchaseToCover`\n\n* `contribution`\n\n* `optionExercise`\n\n* `optionExpiration`\n\n* `fee`\n\n* `soldToClose`\n\n* `soldToOpen`\n\n* `split`\n\n* `transfer`\n\n* `returnOfCapital`\n\n* `income`\n\n* `purchased`\n\n* `sold`\n\n* `dividendReinvest`\n\n* `dividend`\n\n* `reinvestOfIncome`\n\n* `interest`\n\n* `deposit`\n\n* `otherInfo`\n"
}
}
},
{
"$ref": "#/components/schemas/ReportTransactionBase2"
}
]
}
ReportType
{
"type": "string",
"example": "voi",
"description": "A report type. Possible values:\n\n* `voi` \n\n* `voa` \n\n* `voaHistory` \n\n* `history` \n\n* `voieTxVerify` \n\n* `voieWithReport` \n\n* `voieWithInterview` \n\n* `paystatement` \n\n* `preQualVoa` \n\n* `assetSummary` \n\n* `voie` \n\n* `transactions` \n\n* `statement` \n\n* `voiePayroll` \n\n* `voeTransactions` \n\n* `voePayroll` \n\n* `cfrp` \n\n* `cfrb`\n\n* `barpcra`\n\n* `barpnoncra`\n\n* `barbcra`\n\n* `barbftc`\n\n* `barbnoncra`\n"
}
RoutingNumber
{
"type": "string",
"example": "123456789",
"description": "Routing number of receiving bank"
}
Rssd
{
"type": "integer",
"format": "int64",
"example": 490535,
"description": "The RSSD ID is a unique identifier assigned to financial institutions by the Federal Reserve. While the length of the RSSD ID varies by institution, it cannot exceed 10 numerical digits."
}
SecurityIdType
{
"type": "string",
"example": "CUSIP",
"description": "The security type. This field is related to the `securityId` field. Possible values:\n* \"CUSIP\"\n\n* \"ISIN\"\n\n* \"SEDOL\"\n\n* \"SICC\"\n\n* \"VALOR\"\n\n* \"WKN\""
}
ShowNsf
{
"type": "boolean",
"example": false,
"description": "Include the non-sufficient funds (NSF) summary JSON and the NSF summary PDF section in the report. Data included:\n* Account\n\n* Total number of NSF funds\n\n* Days since the most recent NFS funds fee"
}
SingleUseUrl
{
"type": "boolean",
"example": true,
"description": "\"true\": The URL link expires after a Connect session successfully completes.\n\nNote: when the `singleUseUrl` and the `experience` parameters are passed in the same call, the `singleUseUrl` value overrides the `singleUseUrl` value configured in the `experience` parameter."
}
SocialSecurityNumber
{
"type": "string",
"example": "999-99-9999",
"description": "A full SSN with or without hyphens"
}
SocialSecurityNumberLastDigits
{
"type": "string",
"example": "9999",
"description": "Last 4 digits of a SSN"
}
SocialSecurityNumberNoHyphens
{
"type": "string",
"example": "999999999",
"description": "The consumer's full SSN without hyphens"
}
State
{
"type": "string",
"example": "UT",
"description": "State"
}
StateAttribute
{
"type": "object",
"required": [
"attributeName",
"reportedByTimePeriods"
],
"properties": {
"attributeName": {
"type": "string",
"example": "NET_CASH_FLOW",
"description": "Name of Attribute as mentioned in Data Dictionary"
},
"reportedByTimePeriods": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StateTimeInterval"
},
"description": "List of state values grouped by specified Time Interval"
}
},
"description": "An attribute which represents some state over time, such as a balance or a\ncalculation, including derivatives, ratios, or projections. Reports the\nstate over the requested time interval(s)."
}
StatePeriod
{
"type": "object",
"required": [
"startDate",
"endDate",
"count",
"beginningValue",
"endingValue"
],
"properties": {
"max": {
"type": "number",
"example": 60.21,
"description": "Maximum amount during the period"
},
"min": {
"type": "number",
"example": 30.22,
"description": "Minimum amount during the period"
},
"sum": {
"type": "number",
"example": 90.43,
"description": "Sum of amounts during the period"
},
"mean": {
"type": "number",
"example": 42.22,
"description": "Mean of amounts during the period"
},
"count": {
"type": "integer",
"example": 2,
"description": "Count of data points during the period"
},
"median": {
"type": "number",
"example": 42.22,
"description": "Median of amounts during the period"
},
"endDate": {
"type": "string",
"format": "date",
"example": "2023-01-01",
"description": "End date for the period being reported"
},
"startDate": {
"type": "string",
"format": "date",
"example": "2022-12-01",
"description": "Start date for the period being reported"
},
"endingValue": {
"type": "number",
"example": 60.21,
"description": "Value on the last date in the period"
},
"beginningValue": {
"type": "number",
"example": 60.21,
"description": "Value on the first date in the period"
},
"standardDeviation": {
"type": "number",
"example": 14.995,
"description": "Standard deviation of amounts during the period"
}
},
"description": "Statistics for one period in the report of a StateAttribute."
}
StateTimeInterval
{
"type": "object",
"required": [
"timeIntervalType",
"periods"
],
"properties": {
"periods": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StatePeriod"
},
"description": "Periods of the specified time interval type, describing the attribute calculations"
},
"timeIntervalType": {
"$ref": "#/components/schemas/TimeIntervalTypeEnum"
}
},
"description": "For a StateAttribute, describes a time interval type being reported\nand a list of periods generated according to that type."
}
StatementData
{
"type": "object",
"required": [
"accountId"
],
"properties": {
"accountId": {
"$ref": "#/components/schemas/NumericAccountId"
},
"statementIndex": {
"type": "integer",
"format": "int32",
"default": 1,
"example": 1,
"maximum": 24,
"description": "Index of the statement to include in the report. Request statements from 1-24. By default, 1 is the most recent statement. Increase the index value to count back (by month) and retrieve its most recent statement."
}
}
}
StatementEndDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Credit Card/Line Of Credit) End date of statement period. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
StatementReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAck"
},
{
"type": "object",
"properties": {
"assetId": {
"$ref": "#/components/schemas/AssetId"
}
}
}
],
"description": "A Statement report"
}
StatementReportAck
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"constraints": {
"$ref": "#/components/schemas/StatementReportConstraints"
}
}
}
],
"required": [
"id",
"portfolioId",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"consumerId",
"consumerSsn",
"type",
"status",
"constraints"
],
"description": "A Statement report being generated"
}
StatementReportConstraints
{
"type": "object",
"required": [
"statementReportData"
],
"properties": {
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"statementReportData": {
"$ref": "#/components/schemas/StatementData"
}
}
}
StatementStartDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "(Credit Card/Line Of Credit) Start date of statement period. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
StatementType
{
"type": "string",
"example": "taxStatement",
"description": "Account statement types"
}
StreamModel
{
"type": "object",
"required": [
"id",
"payor",
"payee",
"cadence",
"recency",
"transactionIds"
],
"properties": {
"id": {
"type": "string",
"example": "1",
"description": "Stream Id assigned to identified Stream"
},
"payee": {
"type": "string",
"example": "Walmart",
"description": "The party in the transaction that is receiving the funds"
},
"payor": {
"type": "string",
"example": "Elizabeth Johnson",
"description": "The party in the transaction that is sending the funds"
},
"cadence": {
"type": "integer",
"example": 30,
"description": "Number of days that occur between each transaction in the stream"
},
"recency": {
"type": "integer",
"example": 2,
"description": "Number of days since the last transaction occurred in the stream"
},
"transactionIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"6010290887",
"6010290914"
],
"description": "List of Transaction IDs that comprise the stream"
}
},
"description": "Describes a history of repeated transactions between the same parties."
}
StringUnixDate
{
"type": "string",
"format": "int64",
"example": "1607450357",
"description": "A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
StudentLoanDataCertification
{
"type": "boolean",
"example": true,
"description": "\"true\": The institution is certified for the Student Loan Data product\n\n\"false\": The institution is decertified for the Student Loan Data product"
}
SubscriptionId
{
"type": "integer",
"format": "int64",
"example": 17554874,
"description": "ID of a TxPush subscription"
}
SubscriptionRecord
{
"type": "object",
"required": [
"id",
"accountId",
"type",
"callbackUrl",
"signingKey"
],
"properties": {
"id": {
"$ref": "#/components/schemas/SubscriptionId"
},
"type": {
"$ref": "#/components/schemas/SubscriptionType"
},
"accountId": {
"$ref": "#/components/schemas/NumericAccountId"
},
"signingKey": {
"type": "string",
"example": "zg4U0v1IvTzFEHIXzJMxPHnfUwWZAMVpXrUuNuL9IvZI0QzkDdwp39IAKuNOFxOVqCOgHLMS1Zpe4ZL40NX83aJkqI6v0Ez5B7BLBtvr7Ag11kPH3uG1taTeOV0CTyI4LOg7ohSHn0DqaRu2aBq26KI90nYe0CecTCzzhu4yMXL43JV8YfydAexNdkzfg8tY44MlhBPUh2neHW2EFTT2ja4s4Ul10JgID03un8WBSrIm2adHw3QYJB4jk4k1e",
"description": "Signing key for events"
},
"callbackUrl": {
"$ref": "#/components/schemas/TxPushCallbackUrl"
}
},
"description": "TxPush subscription details"
}
SubscriptionType
{
"type": "string",
"example": "account",
"description": "A TxPush subscription type (\"account\" or \"transaction\")"
}
Suffix
{
"type": "string",
"example": "PhD",
"description": "A generational or academic suffix"
}
TaxId
{
"type": "string",
"example": "123-45-7890",
"description": "Country specific tax ID associated with the customer. \n* **United Stated**: Social Security number (SSN) or Taxpayer Identification Number (TIN)\n\n * Format: 123-45-7890\n\n* **Canada**: Social Insurance Number (SIM) or Numero d'assurance sociale (NAS)\n\n * Format: 123-456-789"
}
TestTxPushTransaction
{
"type": "object",
"required": [
"amount",
"description",
"transactionDate"
],
"properties": {
"amount": {
"type": "number",
"example": -4.25,
"description": "The amount of the transaction"
},
"status": {
"type": "string",
"default": "active",
"example": "pending",
"description": "\"active\" or \"pending\" (optional)"
},
"postedDate": {
"$ref": "#/components/schemas/UnixDate"
},
"description": {
"type": "string",
"example": "a testing transaction description",
"description": "The description of the transaction"
},
"transactionDate": {
"$ref": "#/components/schemas/UnixDate"
}
},
"description": "A fake transaction for TxPush testing"
}
ThirdPartyAccessKeyData
{
"type": "object",
"required": [
"customerId",
"partnerId",
"thirdPartyPartnerId",
"products"
],
"properties": {
"products": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ThirdPartyAccessProduct"
}
},
"partnerId": {
"$ref": "#/components/schemas/PartnerId"
},
"customerId": {
"$ref": "#/components/schemas/CustomerId"
},
"provenance": {
"$ref": "#/components/schemas/ThirdPartyAccessProvenance"
},
"thirdPartyPartnerId": {
"$ref": "#/components/schemas/PartnerId"
}
},
"description": "An object representing the third party access key request\n\n* `customerId`: This is recipient's customer identifier\n* `partnerId`: This is recipient partner identifier\n* `thirdPartyPartnerId`: This is requester's partner identifier\n* `products`: Array of values representing the Mastercard Open Banking APIs for\nwhich access needs to be generated."
}
ThirdPartyAccessKeyReceiptData
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ThirdPartyAccessReceiptData"
}
}
},
"description": "An object representing the third party access key receipt\n\n * `customerId`: This is recipient's customerId represented as a\n pseudo identifier. \n * `accountId`: This is the value provided to recipient\n represented as a pseudo identifier for the accountId."
}
ThirdPartyAccessPeriod
{
"type": "object",
"required": [
"type",
"startTime",
"endTime"
],
"properties": {
"type": {
"$ref": "#/components/schemas/ThirdPartyAccessPeriodTypes"
},
"endTime": {
"$ref": "#/components/schemas/DateTimeWithZone"
},
"startTime": {
"$ref": "#/components/schemas/DateTimeWithZone"
}
},
"description": "Object which describes access validity"
}
ThirdPartyAccessPeriodTypes
{
"type": "string",
"example": "timeframe",
"description": "Multiple types will be supported. Presently below types are supported.\n* \"timeframe\": Specifies a timeframe bounded by a startTime and endTime. \n The startTime is the time at which the access was granted and the\naccess key generated, \n and the endTime is the time at which the access was revoked. Times\nare represented in ISO 8601 format(\"2022-03-10T06:06:20Z\")"
}
ThirdPartyAccessProduct
{
"type": "object",
"required": [
"product",
"accountId",
"accessPeriod"
],
"properties": {
"payorId": {
"type": "string",
"example": "2445581559892",
"description": "The Finicity Partner ID who should be billed when the Requester requests data from Finicity. If no value specified, then the Recipient will be billed."
},
"product": {
"$ref": "#/components/schemas/ThirdPartyAccessProductTypes"
},
"maxCalls": {
"type": "integer",
"example": 200,
"description": "Max number of calls to the consented product (consented API)"
},
"accountId": {
"$ref": "#/components/schemas/AccountId"
},
"accessPeriod": {
"$ref": "#/components/schemas/ThirdPartyAccessPeriod"
}
},
"description": "Product for which access token to be generated"
}
ThirdPartyAccessProductTypes
{
"type": "string",
"example": "moneyTransferDetails",
"description": "Third party access token can be generated for the following product types:\n\n\n* \"moneyTransferDetails\": Retrieve account details for money transfer \n* \"availableBalance\": Retrieves the latest cached available and cleared\n account balances for an account. \n* \"availableBalanceLive\": Retrieves the available and cleared account\nbalances live from the financial institution \n* \"accountOwner\": Retrieves names and addresses of the account owner\nfrom a financial institution. \n* \"paymentIndicator\": Get the Payment Success Indicator response,\nscoring the likelihood of payment settlement \n* \"paymentFeedback\": Create feedback loop for Payment Success Indicator\n(PSI) and/or Payment Routing Optimizer (PRO) \n* \"paymentRouting\": Product recommends the best rail to use as well as\nthe best time to initiate the payment"
}
ThirdPartyAccessProof
{
"type": "object",
"properties": {
"keyId": {
"type": "string",
"example": "867-530-900",
"description": "The Finicity key identifier is used to sign the access key"
},
"signature": {
"type": "string",
"example": "JTdCyTIyY3VzdG9tZXJJZCUyMiUzQSUyMjU0NTQ1MTQwMDI5NTU2MjkzNDMlMjIlMkMlMjJwYXJ0bmVySWQlMjIlM0ElMjIyNDQ1NTgzOTIyNTM2JTIyJTJDJTIycHJvZHVjdHMlMjIlM0ElNUIlN0IlMjJhY2Nlc3NQZXJpb2QlMjIlM0ElN0IlMjJlbmRUaW1lJTIyJTNBJTIyMjAyMy0xMS0yOVQwNiUzQTA2JTNBMjBaJTIyJTJDJTIyc3RhcnRUaW1lJTIyJTNBJTIyMjAyMi0xMS0yOVQwNiUzQTA2JTNBMjBaJTIyJTJDJTIydHlwZSUyMiUzQSUyMnRpbWVmcmFtZSUyMiU3RCUyQyUyMmFjY291bnRJZCUyMiUzQSUyMjQ2MzM0MTU3NDM5NjAzNzQwMjQlMjIlMkMlMjJwcm9kdWN0JTIyJTNBJTIybW9uZXlUcmFuc2ZlckRldGFpbHMlMjIlN0QlMkMlN0IlMjJhY2Nlc3NQZXJpb2QlMjIlM0ElN0IlMjJlbmRUaW1lJTIyJTNBJTIyMjAyMy0xMC0yOVQwNiUzQTA2JTNBMjBaJTIyJTJDJTIyc3RhcnRUaW1lJTIyJTNBJTIyMjAyMi0xMS0yOVQwNiUzQTA2JTNBMjBaJTIyJTJDJTIydHlwZSUyMiUzQSUyMnRpbWVmcmFtZSUyMiU3RCUyQyUyMmFjY291bnRJZCUyMiUzQSUyMjQ2MzM0MTU3NDM5NjAzNzQwMjQlMjIlMkMlMjJwcm9kdWN0JTIyJTNBJTIybW9uZXlUcmFuc2ZlckRldGFpbHMlMjIlN0QlNUQlMkMlMjJwcm9maWxlJTIyJTNBMyUyQyUyMnByb3ZlbmFuY2UlMjIlM0FudWxsJTJDJTIycmVjZWlwdElkJTIyJTNBJTIyY3JfNHBmSTNyMVg4YU9IckREd3J3QzAxTkhDeE9YbFcxJTIyJTJDJTIycmVjZWlwdFZlcnNpb24lMjIlM0ExJTJDJTIydGltZXN0YW1wJTIyJTNBJTIyMjAyMi0xMS0yOVQxOCUzQTM1JTNBMDhaJTIyJTJDJTIydmVyc2lvbiUyMiUzQSUyMjElRjYlN9U=",
"description": "The digital signature for the \"receipt\" portion of the access key"
},
"timestamp": {
"$ref": "#/components/schemas/DateTimeWithZone"
}
},
"description": "An object representing a digital signature of the access key"
}
ThirdPartyAccessProvenance
{
"type": "object",
"properties": {
"token": {
"type": "string",
"example": "P9YbR+srNVyQI35893d+BzPrhGMAAAAAuacVUt+3m4svbaFjVSbHEA==",
"description": "Calling client cookie"
},
"ipAddress": {
"type": "string",
"example": "8.8.8.8",
"description": "Calling client IP address"
},
"clientFingerprint": {
"type": "string",
"example": "LU9ZYxcDNQCwEmAxH52XFzaRiGMAAAAABclSKxW5S9P8pUMDV4fbpg",
"description": "Calling client identifier"
}
},
"description": "Provenance regarding the calling client like `clientFingerprint`, `ipAddress` and `token`."
}
ThirdPartyAccessReceipt
{
"type": "object",
"properties": {
"profile": {
"type": "integer",
"example": 3,
"description": "Representation of the type of consent receipt"
},
"version": {
"type": "string",
"example": "1",
"description": "A schema version of receipt"
},
"products": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ThirdPartyAccessProduct"
}
},
"partnerId": {
"$ref": "#/components/schemas/PartnerId"
},
"receiptId": {
"type": "string",
"example": "cr_4pfI2r1X8aOHrDDwrwC01NHTxOXlT1",
"description": "This is officially the Consent Receipt ID, but is aliased as the Access Key ID. This is a unique identifier managed by Finicity that points to the contents of this JSON document."
},
"timestamp": {
"$ref": "#/components/schemas/DateTimeWithZone"
},
"customerId": {
"type": "string",
"example": "3465230025077724000",
"description": "This is recipient's customerId represented as a pseudo identifier"
},
"provenance": {
"$ref": "#/components/schemas/ThirdPartyAccessProvenance"
}
},
"description": "An object representing consent receipt"
}
ThirdPartyAccessReceiptData
{
"type": "object",
"properties": {
"proof": {
"$ref": "#/components/schemas/ThirdPartyAccessProof"
},
"receipt": {
"$ref": "#/components/schemas/ThirdPartyAccessReceipt"
}
},
"description": "An object representing consent access data"
}
TimeIntervalType
{
"type": "string",
"default": "MONTHLY_CALENDAR",
"example": "MONTHLY_CALENDAR",
"description": "Possible values for strategies in which attributes may be aggregated and reported across varying time intervals. Allowed Values - MONTHLY_CALENDAR - MONTHLY_ROLLING_30"
}
TimeIntervalTypeEnum
{
"type": "string",
"default": "MONTHLY_CALENDAR",
"example": "MONTHLY_CALENDAR",
"description": "Possible values for strategies in which attributes may be aggregated and reported across varying time intervals. Allowed Values - MONTHLY_CALENDAR - MONTHLY_ROLLING_30"
}
Transaction
{
"type": "object",
"required": [
"id",
"amount",
"accountId",
"customerId",
"status",
"description",
"createdDate"
],
"properties": {
"id": {
"$ref": "#/components/schemas/TransactionId"
},
"memo": {
"type": "string",
"example": "UWM HOLDINGS CORPORATION - CLASS A COMMON STOCK",
"description": "The institution must provide either a description, a memo, or both. We recommended concatenating the two fields into a single value."
},
"type": {
"$ref": "#/components/schemas/TransactionType"
},
"amount": {
"type": "number",
"example": -828.9,
"description": "The total amount of the transaction. Transactions for deposits are positive values, withdrawals and debits are negative values."
},
"status": {
"type": "string",
"example": "active",
"description": "One of \"active\", \"pending\", or \"shadow\" (see [Transaction Status](https://developer.mastercard.com/open-banking-us/documentation/products/manage/transaction-data/#transaction-status))"
},
"ticker": {
"type": "string",
"example": "UWMC",
"description": "Ticker symbol for the investment related to the transaction"
},
"checkNum": {
"type": "string",
"example": 299,
"description": "The check number of the transaction"
},
"accountId": {
"$ref": "#/components/schemas/NumericAccountId"
},
"feeAmount": {
"type": "number",
"example": 0.51,
"description": "The portion of the overall transaction amount applied to fees"
},
"unitPrice": {
"type": "number",
"example": 5.53,
"description": "Share price for the investment unit: stocks, mutual funds, ETFs"
},
"customerId": {
"$ref": "#/components/schemas/NumericCustomerId"
},
"incomeType": {
"type": "string",
"example": "DIV",
"description": "Capital gains applied in short, long, or miscellaneous terms for tax purposes"
},
"postedDate": {
"$ref": "#/components/schemas/TransactionPostedDate"
},
"securityId": {
"type": "string",
"example": "91823B109",
"description": "The security ID of the transaction"
},
"createdDate": {
"$ref": "#/components/schemas/TransactionCreatedDate"
},
"description": {
"type": "string",
"example": "Buy Stock",
"description": "The description value is from the financial institution (FI), often known as the payee. The value \"No description provided by institution\" is returned when the FI doesn't provide one"
},
"taxesAmount": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "Taxes applicable to the investment trade"
},
"escrowAmount": {
"type": "number",
"example": 2534,
"description": "The portion of the transaction allocated to escrow"
},
"unitQuantity": {
"type": "integer",
"format": "int32",
"example": 150,
"description": "The number of units (individual shares) in the transaction"
},
"effectiveDate": {
"$ref": "#/components/schemas/TransactionEffectiveDate"
},
"categorization": {
"$ref": "#/components/schemas/Categorization"
},
"currencySymbol": {
"type": "string",
"example": "USD",
"description": "If the foreign amount value is present then this is the currency code of that foreign amount"
},
"interestAmount": {
"type": "number",
"example": 132,
"description": "The portion of the transaction allocated to interest"
},
"securityIdType": {
"$ref": "#/components/schemas/SecurityIdType"
},
"splitNumerator": {
"type": "number",
"example": 20,
"description": "Numerator of the stock split for the transaction"
},
"subAccountFund": {
"type": "string",
"example": "MARGIN",
"description": "The sub account where the funds came from"
},
"suspenseAmount": {
"type": "number",
"example": 0.25,
"description": "Temporarily hold funds if you overpay or underpay your monthly payment"
},
"principalAmount": {
"type": "number",
"example": 32560,
"description": "The portion of the transaction allocated to principal"
},
"transactionDate": {
"$ref": "#/components/schemas/TransactionDate"
},
"commissionAmount": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "Transaction commission"
},
"optionExpireDate": {
"$ref": "#/components/schemas/TransactionOptionExpireDate"
},
"splitDenominator": {
"type": "number",
"example": 152,
"description": "Denominator of the stock split for the transaction"
},
"optionStrikePrice": {
"type": "number",
"example": 32560,
"description": "The strike price of the option contract"
},
"sharesPerContract": {
"type": "number",
"example": 100,
"description": "Shares per contract of the underlying stock option"
},
"firstEffectiveDate": {
"$ref": "#/components/schemas/TransactionFirstEffectiveDate"
},
"runningBalanceAmount": {
"type": "number",
"example": 1000,
"description": "The ending balance after the transaction was posted"
},
"subaccountSecurityType": {
"type": "string",
"example": "MARGIN",
"description": "The type of sub account the funds came from"
},
"investmentTransactionType": {
"$ref": "#/components/schemas/InvestmentTransactionTypes"
}
}
}
TransactionCreatedDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A date in Unix epoch time (in seconds). Represents the timestamp of the transaction when it was added to our platform. See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
TransactionDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A date in Unix epoch time (in seconds). Represents the timestamp of the transaction when it occurred. See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
TransactionEffectiveDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A date in Unix epoch time (in seconds). Represents the timestamp of the transaction when it became effective on an account by an institution. See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
TransactionFirstEffectiveDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A date in Unix epoch time (in seconds). Represents the first timestamp of the transaction recorded in the `effectiveDate` field. See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
TransactionId
{
"type": "integer",
"format": "int64",
"example": 21284820852,
"description": "A transaction ID"
}
TransactionOptionExpireDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A date in Unix epoch time (in seconds). Represents the timestamp of the transaction expiration date when it became expires on an account by an institution. See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
TransactionPostedDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A date in Unix epoch time (in seconds). Represents the timestamp of the transaction when it was posted or cleared by the institution. This value isn't required for student loan transaction data. See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
TransactionType
{
"type": "string",
"example": "atm",
"description": "If provided by the institution, the following values may be returned in the field of a record:\n* \"atm\"\n\n* \"cash\"\n\n* \"check\"\n\n* \"credit\"\n\n* \"debit\"\n\n* \"deposit\"\n\n* \"directDebit\"\n\n* \"directDeposit\"\n\n* \"dividend\"\n\n* \"fee\"\n\n* \"interest\"\n\n* \"other\"\n\n* \"payment\"\n\n* \"pointOfSale\"\n\n* \"repeatPayment\"\n\n* \"serviceCharge\"\n\n* \"transfer\""
}
TransactionalAttribute
{
"type": "object",
"required": [
"attributeName",
"aggregatedByTimePeriods",
"transactionIds",
"streamIds"
],
"properties": {
"streamIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"1",
"2"
],
"description": "List of stream IDs categorized as belonging to this attribute"
},
"attributeName": {
"type": "string",
"example": "INFLOW_TRANSACTIONS",
"description": "Name of Attribute as mentioned in Data Dictionary"
},
"transactionIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"6010290887",
"6010290914"
],
"description": "List of transaction IDs categorized as belonging to this attribute"
},
"aggregatedByTimePeriods": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TransactionalTimeInterval"
},
"description": "List of aggregations by specified Time Interval"
}
},
"description": "An attribute which represents some categorization/classification of\ntransactions. Enumerates those identified transactions and reports\naggregations of them over the requested time interval(s)."
}
TransactionalPeriod
{
"type": "object",
"required": [
"startDate",
"endDate",
"count"
],
"properties": {
"max": {
"type": "number",
"example": 60.21,
"description": "Maximum amount during the period"
},
"min": {
"type": "number",
"example": 30.22,
"description": "Minimum amount during the period"
},
"sum": {
"type": "number",
"example": 90.43,
"description": "Sum of amounts during the period"
},
"mean": {
"type": "number",
"example": 42.22,
"description": "Mean of amounts during the period"
},
"count": {
"type": "integer",
"example": 2,
"description": "Count of data points during the period"
},
"median": {
"type": "number",
"example": 42.22,
"description": "Median of amounts during the period"
},
"endDate": {
"type": "string",
"format": "date",
"example": "2023-01-01",
"description": "End date for the period being reported"
},
"startDate": {
"type": "string",
"format": "date",
"example": "2022-12-01",
"description": "Start date for the period being reported"
},
"standardDeviation": {
"type": "number",
"example": 14.995,
"description": "Standard deviation of amounts during the period"
}
},
"description": "Statistics for one period in the report of a TransactionalAttribute."
}
TransactionalTimeInterval
{
"type": "object",
"required": [
"timeIntervalType",
"periods"
],
"properties": {
"periods": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TransactionalPeriod"
},
"description": "Periods of the specified time interval type, describing the attribute calculations"
},
"timeIntervalType": {
"$ref": "#/components/schemas/TimeIntervalTypeEnum"
}
},
"description": "For a TransactionalAttribute, describes a time interval type being reported\nand a list of periods generated according to that type."
}
Transactions
{
"type": "object",
"required": [
"found",
"displaying",
"moreAvailable",
"fromDate",
"toDate",
"sort",
"transactions"
],
"properties": {
"sort": {
"type": "string",
"example": "desc",
"description": "Value of the sort request parameter that generated this response"
},
"found": {
"$ref": "#/components/schemas/FoundResults"
},
"toDate": {
"$ref": "#/components/schemas/TransactionsToDate"
},
"fromDate": {
"$ref": "#/components/schemas/TransactionsFromDate"
},
"displaying": {
"$ref": "#/components/schemas/DisplayingResults"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Transaction"
},
"description": "The array of transactions"
},
"moreAvailable": {
"$ref": "#/components/schemas/MoreResultsAvailable"
}
},
"description": "A list of transactions"
}
TransactionsFromDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "Value of the `fromDate` request parameter that generated this response"
}
TransactionsReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"format": "int64",
"example": 174,
"description": "Number of days covered by the report"
},
"endDate": {
"$ref": "#/components/schemas/ReportEndDate"
},
"seasoned": {
"type": "boolean",
"example": false,
"description": "\"true\" if the report covers more than 365 days"
},
"startDate": {
"$ref": "#/components/schemas/ReportStartDate"
},
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportInstitution"
},
"description": "A list of institution records"
}
}
}
],
"description": "A Transactions report"
}
TransactionsReportAccount
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1000075473,
"description": "The Finicity account ID"
},
"name": {
"type": "string",
"example": "Super Checking",
"description": "The account name from the financial institution."
},
"type": {
"$ref": "#/components/schemas/AccountType"
},
"number": {
"type": "string",
"example": "5015",
"description": "The account number from the financial institution (obfuscated)"
},
"balance": {
"type": "number",
"example": 100000,
"description": "The cleared balance of the account as-of `balanceDate`"
},
"balanceDate": {
"type": "integer",
"format": "int64",
"example": 1594676289,
"description": "A timestamp showing when the balance was captured"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransaction"
},
"description": "a list of transaction records"
},
"aggregationStatusCode": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The status of the most recent aggregation attempt for this account. Note: non-zero means the account was not accessed successfully for this report, and additional fields for this account may not be reliable."
}
},
"description": "Fields used for the Transaction History Report (CRA products)"
}
TransactionsReportAck
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"constraints": {
"$ref": "#/components/schemas/TransactionsReportConstraintsOut"
}
}
}
],
"required": [
"id",
"portfolioId",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"consumerId",
"consumerSsn",
"type",
"status",
"constraints"
],
"description": "A Transaction report being generated"
}
TransactionsReportConstraints
{
"type": "object",
"properties": {
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIdsString"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
}
}
}
TransactionsReportConstraintsOut
{
"type": "object",
"properties": {
"toDate": {
"$ref": "#/components/schemas/UnixDate"
},
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIds"
},
"includePending": {
"$ref": "#/components/schemas/IncludePending"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
}
}
}
TransactionsToDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "Value of the `toDate` request parameter that generated this response"
}
TxPushCallbackUrl
{
"type": "string",
"example": "https://www.mydomain.com/txpush/listener",
"description": "A callback URL where to receive TxPush notifications"
}
TxPushSubscriptionParameters
{
"type": "object",
"required": [
"callbackUrl"
],
"properties": {
"callbackUrl": {
"$ref": "#/components/schemas/TxPushCallbackUrl"
}
}
}
TxPushSubscriptions
{
"type": "object",
"required": [
"subscriptions"
],
"properties": {
"subscriptions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubscriptionRecord"
}
}
}
}
TxVerifyInterview
{
"type": "object",
"required": [
"assetId"
],
"properties": {
"assetId": {
"$ref": "#/components/schemas/AssetId"
},
"accounts": {
"$ref": "#/components/schemas/ReportAccountIds"
}
}
}
UnixDate
{
"type": "integer",
"format": "int64",
"example": 1607450357,
"description": "A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-banking-us/documentation/codes-and-formats/)."
}
UserType
{
"type": "string",
"example": "business",
"description": "Type of User, Allowed values Personal/Business"
}
VOAIReportIncomeStream
{
"type": "object",
"required": [
"id",
"name",
"status",
"estimateInclusion",
"confidence",
"cadence",
"transactions"
],
"properties": {
"id": {
"type": "string",
"example": "dens28i3vsch-voah",
"description": "Income stream ID"
},
"name": {
"type": "string",
"example": "none",
"description": "A human-readable name based on the `normalizedPayee` name of the transactions for this income stream"
},
"status": {
"$ref": "#/components/schemas/ActiveStatus"
},
"cadence": {
"$ref": "#/components/schemas/CadenceDetails"
},
"netAnnual": {
"type": "number",
"example": 110475.7,
"description": "Sum of all values in `netMonthlyIncome` over the previous 12 months"
},
"confidence": {
"type": "integer",
"format": "int32",
"example": 70,
"description": "Level of confidence that the deposit stream represents income (example: 85%)"
},
"netMonthly": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NetMonthly"
},
"example": [
{
"net": 2004.77,
"month": 1522562400
}
],
"description": "A list of net monthly records. One instance for each complete calendar month in the report."
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransaction"
},
"description": "A list of transaction records"
},
"estimateInclusion": {
"$ref": "#/components/schemas/EstimateInclusion"
},
"incomeStreamMonths": {
"type": "integer",
"format": "int32",
"example": 18,
"description": "The number of months the income transactions are observed"
},
"projectedNetAnnual": {
"type": "number",
"example": 0,
"description": "Projected net income over the next 12 months, across all income streams, based on `netAnnualIncome`"
},
"estimatedGrossAnnual": {
"type": "number",
"example": 2000.12,
"description": "Before-tax gross annual income (estimated from `netAnnual`) across all income stream in the past 12 months"
},
"projectedGrossAnnual": {
"type": "number",
"example": 151609,
"description": "Projected gross income over the next 12 months, across all active income streams, based on `projectedNetAnnual`"
},
"averageMonthlyIncomeNet": {
"type": "number",
"example": 9206.31,
"description": "Monthly average amount over the previous 24 months"
}
},
"description": "A report income stream record"
}
VOAReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"example": 180,
"description": "Number of days covered by the report"
},
"assets": {
"$ref": "#/components/schemas/PrequalificationReportAssetSummary"
},
"endDate": {
"$ref": "#/components/schemas/ReportEndDate"
},
"seasoned": {
"type": "boolean",
"example": true,
"description": "\"true\" if the report covers more than 180 days"
},
"startDate": {
"$ref": "#/components/schemas/ReportStartDate"
},
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportInstitution"
},
"description": "A list of institution records"
},
"consolidatedAvailableBalance": {
"type": "number",
"example": 1929.57,
"description": "The sum of available balance for all of the accounts included in the report"
}
}
}
],
"description": "A VOA report"
}
VOAReportAccount
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1000023996,
"description": "The ID of the account"
},
"name": {
"type": "string",
"example": "Checking",
"description": "The account name from the institution"
},
"type": {
"type": "string",
"example": "checking",
"description": "One of the values from account types"
},
"asset": {
"$ref": "#/components/schemas/PrequalificationReportAssetSummary"
},
"number": {
"type": "string",
"example": "1111",
"description": "The account number from the institution (all digits except the last four are obfuscated)"
},
"balance": {
"type": "number",
"example": 501.24,
"description": "The cleared balance of the account as-of balanceDate"
},
"details": {
"$ref": "#/components/schemas/AccountDetailsTxBased"
},
"position": {
"$ref": "#/components/schemas/ReportAccountPosition"
},
"ownerName": {
"$ref": "#/components/schemas/ReportAccountOwnerName"
},
"balanceDate": {
"type": "integer",
"format": "int64",
"example": 1588350276,
"description": "A timestamp showing when the balance was captured"
},
"ownerAddress": {
"$ref": "#/components/schemas/ReportAccountOwnerAddress"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransactionNewTxBased"
},
"description": "a list of transaction records"
},
"availableBalance": {
"type": "number",
"example": 501.24,
"description": "The available balance for the account"
},
"aggregationStatusCode": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The status of the most recent aggregation attempt"
},
"averageMonthlyBalance": {
"type": "number",
"example": 501.02,
"description": "The average monthly balance of this account"
},
"totNumberInsufficientFundsFeeDebitTxAccount": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "The count for the total number of insufficient funds transactions, based on the `fromDate` of the report."
},
"totNumberInsufficientFundsFeeDebitTxOver2MonthsAccount": {
"type": "integer",
"format": "int64",
"example": 0,
"description": "The count for the total number of insufficient funds transactions for the last two months, based on the `fromDate` of the report."
},
"totNumberDaysSinceMostRecentInsufficientFundsFeeDebitTxAccount": {
"type": "integer",
"format": "int64",
"example": 120,
"description": "The number of days since the most recent insufficient funds transaction, based on the `fromDate` of the report."
}
}
}
VOAReportAck
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"constraints": {
"$ref": "#/components/schemas/VOAReportConstraintsOut"
}
}
}
],
"required": [
"id",
"portfolioId",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"consumerId",
"consumerSsn",
"type",
"status",
"constraints"
],
"description": "A VOA report being generated"
}
VOAReportConstraints
{
"type": "object",
"properties": {
"showNsf": {
"$ref": "#/components/schemas/ShowNsf"
},
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIdsString"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
}
}
}
VOAReportConstraintsOut
{
"type": "object",
"properties": {
"showNsf": {
"$ref": "#/components/schemas/ShowNsf"
},
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIds"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
}
}
}
VOAWithIncomeReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"example": 180,
"description": "Number of days covered by the report"
},
"assets": {
"$ref": "#/components/schemas/PrequalificationReportAssetSummary"
},
"endDate": {
"$ref": "#/components/schemas/ReportEndDate"
},
"seasoned": {
"type": "boolean",
"example": true,
"description": "\"true\" if the report covers more than 180 days"
},
"startDate": {
"$ref": "#/components/schemas/ReportStartDate"
},
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportInstitution"
},
"description": "A list of institution records"
},
"consolidatedAvailableBalance": {
"type": "number",
"example": 1929.57,
"description": "The sum of available balance for all of the accounts included in the report"
}
}
}
],
"description": "A VOA with income report"
}
VOAWithIncomeReportAccount
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/VOAReportAccount"
},
{
"type": "object",
"properties": {
"incomeStreams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VOAIReportIncomeStream"
},
"description": "A list of income stream records"
}
}
}
]
}
VOAWithIncomeReportAck
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"constraints": {
"$ref": "#/components/schemas/VOAWithIncomeReportConstraintsOut"
}
}
}
],
"required": [
"id",
"portfolioId",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"consumerId",
"consumerSsn",
"type",
"status",
"constraints"
],
"description": "A VOA with income report being generated"
}
VOAWithIncomeReportConstraints
{
"type": "object",
"properties": {
"showNsf": {
"$ref": "#/components/schemas/ShowNsf"
},
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIdsString"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"incomeStreamConfidenceMinimum": {
"$ref": "#/components/schemas/IncomeStreamConfidenceMinimum"
}
}
}
VOAWithIncomeReportConstraintsOut
{
"type": "object",
"properties": {
"showNsf": {
"$ref": "#/components/schemas/ShowNsf"
},
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIds"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"incomeStreamConfidenceMinimum": {
"$ref": "#/components/schemas/IncomeStreamConfidenceMinimum"
}
}
}
VOEPayrollReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"gseEnabled": {
"$ref": "#/components/schemas/GseEnabled"
},
"employmentHistory": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PayrollEmploymentHistoryVOE"
},
"description": "An array of employment histories, one for each of the consumer's verified employers"
}
}
}
],
"description": "A VOE Payroll report"
}
VOETransactionsReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"example": 120,
"description": "Number of days covered by the report"
},
"endDate": {
"$ref": "#/components/schemas/ReportEndDate"
},
"seasoned": {
"type": "boolean",
"example": true,
"description": "\"true\" if the report covers more than 180 days"
},
"startDate": {
"$ref": "#/components/schemas/ReportStartDate"
},
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportInstitution"
},
"description": "A list of institution records, including information about the individual accounts used in this report"
}
}
}
],
"description": "A VOE Transactions report"
}
VOETransactionsReportAccount
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1000023996,
"description": "The ID of the account"
},
"name": {
"type": "string",
"example": "Checking",
"description": "The account name from the institution"
},
"type": {
"type": "string",
"example": "checking",
"description": "One of the values from account types"
},
"number": {
"type": "string",
"example": "1111",
"description": "The account number from the institution (all digits except the last four are obfuscated)"
},
"ownerName": {
"$ref": "#/components/schemas/ReportAccountOwnerName"
},
"ownerAddress": {
"$ref": "#/components/schemas/ReportAccountOwnerAddress"
},
"incomeStreams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VOETransactionsReportIncomeStream"
},
"description": "A list of income stream records"
},
"aggregationStatusCode": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The status of the most recent aggregation attempt"
}
}
}
VOETransactionsReportAck
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"constraints": {
"$ref": "#/components/schemas/VOETransactionsReportConstraintsOut"
}
}
}
],
"required": [
"id",
"portfolioId",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"consumerId",
"consumerSsn",
"type",
"status",
"constraints"
],
"description": "A VOE Transactions report being generated"
}
VOETransactionsReportConstraints
{
"type": "object",
"properties": {
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"reportId": {
"$ref": "#/components/schemas/ReportId"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIdsString"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"incomeStreamConfidenceMinimum": {
"$ref": "#/components/schemas/IncomeStreamConfidenceMinimum"
}
}
}
VOETransactionsReportConstraintsOut
{
"type": "object",
"properties": {
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"reportId": {
"$ref": "#/components/schemas/ReportId"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIds"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"incomeStreamConfidenceMinimum": {
"$ref": "#/components/schemas/IncomeStreamConfidenceMinimum"
}
}
}
VOETransactionsReportIncomeStream
{
"type": "object",
"required": [
"id",
"name",
"status",
"estimateInclusion",
"confidence",
"cadence",
"daysSinceLastTransaction",
"nextExpectedTransactionDate",
"transactions"
],
"properties": {
"id": {
"type": "string",
"example": "dens28i3vsch-voah",
"description": "Income stream ID"
},
"name": {
"type": "string",
"example": "none",
"description": "A human-readable name based on the `normalizedPayee` name of the transactions for this income stream"
},
"status": {
"$ref": "#/components/schemas/ActiveStatus"
},
"cadence": {
"$ref": "#/components/schemas/CadenceDetails"
},
"confidence": {
"type": "integer",
"format": "int32",
"example": 70,
"description": "Level of confidence that the deposit stream represents income (example: 85%)"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransaction"
},
"description": "A list of transaction records"
},
"estimateInclusion": {
"$ref": "#/components/schemas/EstimateInclusion"
},
"incomeStreamMonths": {
"type": "integer",
"format": "int32",
"example": 18,
"description": "The number of months the income transactions are observed"
},
"daysSinceLastTransaction": {
"type": "integer",
"format": "int32",
"example": 15,
"description": "The number of days since the last credit transaction for the particular income stream"
},
"nextExpectedTransactionDate": {
"type": "integer",
"format": "int64",
"example": 1572625469,
"description": "The next expected credit transaction date for the particular income stream, based on the cadence"
}
}
}
VOIEPayStatement
{
"type": "object",
"properties": {
"assetId": {
"type": "string",
"example": "6f8fb0a0-e882-4f57-b672-cf53f1397581",
"description": "The asset ID of the stored pay statement"
},
"endDate": {
"type": "integer",
"format": "int64",
"example": 1558722600,
"description": "The end of the pay period"
},
"payDate": {
"type": "integer",
"format": "int64",
"example": 1559241000,
"description": "The listed pay date for the pay statement"
},
"payStat": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PayStat"
},
"description": "Information pertaining to the earnings on the pay statement"
},
"billable": {
"type": "boolean",
"example": true,
"description": "Designates whether the pay statement is billable"
},
"employee": {
"$ref": "#/components/schemas/Employee"
},
"employer": {
"$ref": "#/components/schemas/Employer"
},
"netPayYTD": {
"type": "number",
"example": 36000,
"description": "The total accumulation of pay after deductions for the employee for the current pay year"
},
"payPeriod": {
"type": "string",
"example": "LastPayPeriod",
"description": "The pay period of the pay statement"
},
"startDate": {
"type": "integer",
"format": "int64",
"example": 1557513000,
"description": "The beginning of the pay period"
},
"deductions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Deduction"
},
"description": "Information pertaining to deductions on the pay statement"
},
"grossPayYTD": {
"type": "number",
"example": 72600,
"description": "The total accumulation of pay before deductions for the employee for the current pay year"
},
"netPayCurrent": {
"type": "number",
"example": 1802.22,
"description": "The total pay after deductions for the employee for the current pay period"
},
"directDeposits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DirectDeposit"
},
"description": "Information pertaining to direct deposits on the pay statement"
},
"grossPayCurrent": {
"type": "number",
"example": 24200,
"description": "The total pay before deductions for the employee for the current pay period"
},
"payrollProvider": {
"type": "string",
"example": "Finicity",
"description": "The company that provides the pay stub."
}
}
}
VOIEPayrollReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"gseEnabled": {
"$ref": "#/components/schemas/GseEnabled"
},
"reportStyle": {
"$ref": "#/components/schemas/ReportStyle"
},
"employmentHistory": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PayrollEmploymentHistoryVOIE"
},
"description": "An array of employment histories, one for each of the consumer's verified employers"
}
}
}
],
"description": "A VOIE Payroll report"
}
VOIEPaystubPayStatement
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/PayStatementForVoie"
},
{
"type": "object",
"properties": {
"monthlyIncome": {
"$ref": "#/components/schemas/PaystubMonthlyIncomeRecord"
}
}
}
]
}
VOIEPaystubReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"assetIds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssetId"
},
"description": "The pay statements included in the report"
},
"payStatements": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VOIEPaystubPayStatement"
},
"description": "Extracted pay statement details, and the transaction matching summary"
},
"numberOfBillableAssets": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Total number of billable pay statements included in the report"
}
}
}
],
"description": "A VOIE Paystub report"
}
VOIEPaystubReportAck
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"constraints": {
"$ref": "#/components/schemas/VOIEReportConstraints"
}
}
}
],
"required": [
"id",
"portfolioId",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"consumerId",
"consumerSsn",
"type",
"status",
"constraints"
],
"description": "A VOIE Paystub report being generated"
}
VOIEPaystubWithStatementPayStatement
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/PayStatementForVoie"
},
{
"type": "object",
"properties": {
"monthlyIncome": {
"$ref": "#/components/schemas/PaystubTxVerifyMonthlyIncomeRecord"
}
}
}
]
}
VOIEPaystubWithTXVerifyReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"assetIds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssetId"
},
"description": "The pay statements included in the report"
},
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportInstitution"
},
"description": "The details of the financial institution accounts included in the report."
},
"payStatements": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VOIEPaystubWithStatementPayStatement"
},
"description": "Extracted pay statement details, and the transaction matching summary"
},
"numberOfBillableAssets": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Total number of billable pay statements included in the report"
}
}
}
],
"description": "A VOIE Paystub With TXVerify report"
}
VOIEPaystubWithTXVerifyReportAck
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"constraints": {
"$ref": "#/components/schemas/VOIEWithTXVerifyReportConstraintsOut"
}
}
}
],
"required": [
"id",
"portfolioId",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"consumerId",
"consumerSsn",
"type",
"status",
"constraints"
],
"description": "A VOIE Paystub With TXVerify report being generated"
}
VOIEReportConstraints
{
"type": "object",
"required": [
"voieWithStatementData"
],
"properties": {
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"voieWithStatementData": {
"$ref": "#/components/schemas/VOIEWithStatementData"
}
},
"description": "The request details from the report generation that were used to generate the report"
}
VOIETXVerifyReportAccount
{
"type": "object",
"required": [
"id",
"name",
"number",
"type",
"aggregationStatusCode",
"transactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1000023996,
"description": "The ID of the account"
},
"name": {
"type": "string",
"example": "Checking",
"description": "The account name from the institution"
},
"type": {
"type": "string",
"example": "checking",
"description": "One of the values from account types"
},
"number": {
"type": "string",
"example": "1111",
"description": "The account number from the institution (all digits except the last four are obfuscated)"
},
"balance": {
"type": "number",
"example": 123.45,
"description": "The cleared balance of the account as-of `balanceDate`"
},
"details": {
"$ref": "#/components/schemas/AccountDetailsTxBased"
},
"position": {
"$ref": "#/components/schemas/ReportAccountPosition"
},
"ownerName": {
"$ref": "#/components/schemas/ReportAccountOwnerName"
},
"ownerAddress": {
"$ref": "#/components/schemas/ReportAccountOwnerAddress"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransactionNewTxBased"
},
"description": "a list of transaction records"
},
"incomeStreams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VOIETXVerifyReportIncomeStream"
},
"description": "A list of income stream records"
},
"availableBalance": {
"type": "number",
"example": 123.45,
"description": "The available balance for the account"
},
"aggregationStatusCode": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The status of the most recent aggregation attempt"
},
"averageMonthlyBalance": {
"type": "number",
"example": 301.45,
"description": "The average monthly balance of this account"
}
}
}
VOIETXVerifyReportIncomeStream
{
"type": "object",
"required": [
"id",
"name",
"status",
"confidence",
"cadence",
"transactions"
],
"properties": {
"id": {
"type": "string",
"example": "dens28i3vsch-voietxverify",
"description": "Finicity's income stream ID"
},
"name": {
"type": "string",
"example": "none",
"description": "A human-readable name based on the `normalizedPayee` name of the transactions for this income stream"
},
"status": {
"$ref": "#/components/schemas/ActiveStatus"
},
"cadence": {
"$ref": "#/components/schemas/CadenceDetails"
},
"netAnnual": {
"type": "number",
"example": 110475.7,
"description": "Sum of all values in `netMonthlyIncome` over the previous 12 months"
},
"confidence": {
"type": "integer",
"format": "int32",
"example": 70,
"description": "Level of confidence that the deposit stream represents income (example: 85%)"
},
"netMonthly": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NetMonthly"
},
"description": "A list of net monthly records. One instance for each complete calendar month in the report."
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransaction"
},
"description": "A list of transaction records"
},
"incomeStreamMonths": {
"type": "integer",
"format": "int32",
"example": 24,
"description": "The number of months the income transactions are observed"
},
"projectedNetAnnual": {
"type": "number",
"example": 0,
"description": "Projected net income over the next 12 months, across all income streams, based on `netAnnualIncome`"
},
"estimatedGrossAnnual": {
"type": "number",
"example": 12321.1,
"description": "Before-tax gross annual income (estimated from `netAnnual`) across all income stream in the past 12 months"
},
"projectedGrossAnnual": {
"type": "number",
"example": 151609,
"description": "Projected gross income over the next 12 months, across all active income streams, based on `projectedNetAnnual`"
},
"averageMonthlyIncomeNet": {
"type": "number",
"example": 9206.31,
"description": "Monthly average amount over the previous 24 months"
}
}
}
VOIEWithInterviewData
{
"type": "object",
"required": [
"txVerifyInterview"
],
"properties": {
"extractEarnings": {
"$ref": "#/components/schemas/ExtractEarnings"
},
"extractDeductions": {
"$ref": "#/components/schemas/ExtractDeductions"
},
"txVerifyInterview": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TxVerifyInterview"
},
"description": "An array of `TxVerifyInterview` objects"
},
"extractDirectDeposit": {
"$ref": "#/components/schemas/ExtractDirectDeposit"
}
}
}
VOIEWithStatementData
{
"type": "object",
"required": [
"assetIds"
],
"properties": {
"assetIds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssetId"
},
"description": "A list of pay statement asset IDs"
},
"extractEarnings": {
"$ref": "#/components/schemas/ExtractEarnings"
},
"extractDeductions": {
"$ref": "#/components/schemas/ExtractDeductions"
},
"extractDirectDeposit": {
"$ref": "#/components/schemas/ExtractDirectDeposit"
}
}
}
VOIEWithTXVerifyReportConstraints
{
"type": "object",
"required": [
"voieWithInterviewData"
],
"properties": {
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIdsString"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"voieWithInterviewData": {
"$ref": "#/components/schemas/VOIEWithInterviewData"
},
"incomeStreamConfidenceMinimum": {
"$ref": "#/components/schemas/IncomeStreamConfidenceMinimum"
}
}
}
VOIEWithTXVerifyReportConstraintsOut
{
"type": "object",
"required": [
"voieWithInterviewData"
],
"properties": {
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIds"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"voieWithInterviewData": {
"$ref": "#/components/schemas/VOIEWithInterviewData"
},
"incomeStreamConfidenceMinimum": {
"$ref": "#/components/schemas/IncomeStreamConfidenceMinimum"
}
}
}
VOIReport
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"format": "int64",
"example": 200,
"description": "Number of days covered by the report"
},
"income": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportIncomeStreamSummary"
},
"description": "Income details"
},
"endDate": {
"$ref": "#/components/schemas/ReportEndDate"
},
"seasoned": {
"type": "boolean",
"example": true,
"description": "\"true\" if the report covers more than 180 days"
},
"startDate": {
"$ref": "#/components/schemas/ReportStartDate"
},
"institutions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportInstitution"
},
"description": "A list of institution records"
}
}
}
],
"description": "A VOI report"
}
VOIReportAccount
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1000023996,
"description": "The ID of the account"
},
"name": {
"type": "string",
"example": "Checking",
"description": "The account name from the institution"
},
"type": {
"type": "string",
"example": "checking",
"description": "One of the values from account types"
},
"number": {
"type": "string",
"example": "1111",
"description": "The account number from the institution (all digits except the last four are obfuscated)"
},
"balance": {
"type": "number",
"example": 714.16,
"description": "The cleared balance of the account as-of `balanceDate`"
},
"ownerName": {
"$ref": "#/components/schemas/ReportAccountOwnerName"
},
"miscDeposits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransaction"
},
"maxItems": 100,
"minItems": 0,
"description": "A list of miscellaneous deposits"
},
"ownerAddress": {
"$ref": "#/components/schemas/ReportAccountOwnerAddress"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransaction"
},
"description": "a list of transaction records"
},
"incomeStreams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VOIReportIncomeStream"
},
"description": "A list of income stream records"
},
"currentBalance": {
"type": "number",
"example": 714.16,
"description": "Current balance of the account"
},
"availableBalance": {
"type": "number",
"example": 714.16,
"description": "The available balance for the account"
},
"beginningBalance": {
"type": "number",
"example": 714.77,
"description": "Beginning balance of account per the time period in the report"
},
"aggregationStatusCode": {
"type": "integer",
"format": "int32",
"example": 0,
"description": "The status of the most recent aggregation attempt"
},
"averageMonthlyBalance": {
"type": "number",
"example": 720.75,
"description": "The average monthly balance of this account"
}
}
}
VOIReportAck
{
"allOf": [
{
"$ref": "#/components/schemas/BaseReportAckWithPortfolioId"
},
{
"type": "object",
"properties": {
"constraints": {
"$ref": "#/components/schemas/VOIReportConstraintsOut"
}
}
}
],
"required": [
"id",
"portfolioId",
"customerType",
"customerId",
"requestId",
"requesterName",
"createdDate",
"title",
"consumerId",
"consumerSsn",
"type",
"status",
"constraints"
],
"description": "A VOI report being generated"
}
VOIReportConstraints
{
"type": "object",
"properties": {
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIdsString"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"incomeStreamConfidenceMinimum": {
"$ref": "#/components/schemas/IncomeStreamConfidenceMinimum"
}
}
}
VOIReportConstraintsOut
{
"type": "object",
"properties": {
"fromDate": {
"$ref": "#/components/schemas/UnixDate"
},
"accountIds": {
"$ref": "#/components/schemas/ReportAccountIds"
},
"reportCustomFields": {
"$ref": "#/components/schemas/ReportCustomFields"
},
"incomeStreamConfidenceMinimum": {
"$ref": "#/components/schemas/IncomeStreamConfidenceMinimum"
}
}
}
VOIReportIncomeStream
{
"type": "object",
"required": [
"id",
"name",
"status",
"estimateInclusion",
"confidence",
"cadence",
"transactions"
],
"properties": {
"id": {
"type": "string",
"example": "dens28i3vsch-voi1",
"description": "Income stream ID"
},
"name": {
"type": "string",
"example": "none",
"description": "A human-readable name based on the `normalizedPayee` name of the transactions for this income stream"
},
"status": {
"$ref": "#/components/schemas/ActiveStatus"
},
"cadence": {
"$ref": "#/components/schemas/CadenceDetails"
},
"netAnnual": {
"type": "number",
"example": 110475.7,
"description": "Sum of all values in `netMonthlyIncome` over the previous 12 months"
},
"confidence": {
"type": "integer",
"format": "int32",
"example": 70,
"description": "Level of confidence that the deposit stream represents income (example: 85%)"
},
"netMonthly": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NetMonthly"
},
"description": "A list of net monthly records. One instance for each complete calendar month in the report."
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReportTransaction"
},
"description": "A list of transaction records"
},
"estimateInclusion": {
"$ref": "#/components/schemas/EstimateInclusion"
},
"incomeStreamMonths": {
"type": "integer",
"format": "int32",
"example": 18,
"description": "The number of months the income transactions are observed"
},
"projectedNetAnnual": {
"type": "number",
"example": 0,
"description": "Projected net income over the next 12 months, across all income streams, based on `netAnnualIncome`"
},
"estimatedGrossAnnual": {
"type": "number",
"example": 12321.1,
"description": "Before-tax gross annual income (estimated from `netAnnual`) across all income stream in the past 12 months"
},
"projectedGrossAnnual": {
"type": "number",
"example": 151609,
"description": "Projected gross income over the next 12 months, across all active income streams, based on `projectedNetAnnual`"
},
"averageMonthlyIncomeNet": {
"type": "number",
"example": 9206.31,
"description": "Monthly average amount over the previous 24 months"
}
}
}
VerifiedMicroDeposit
{
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "Verified",
"description": "Micro entries successful verification status"
},
"statusDescription": {
"type": "string",
"example": "Micro entries are successfully verified",
"description": "Micro entries successful verification description"
}
}
}
Warnings
{
"type": "string",
"example": "Test warnings",
"description": "An array containing warning messages. Warnings can be one of:\n\n * Address: Input postal code was corrected\n * Address: Input state corrected\n * Email: Address is too long\n * Email: General syntax error\n * Email: Invalid domain syntax \n * Email: Invalid top-level-domain (TLD) in address\n * Email: Invalid username syntax\n * IP: IP address is in private range\n * Phone: Invalid country_hint value. Only Alpha-2 supported"
}
Webhook
{
"type": "string",
"example": "https://webhook.site/8d4421a7-d1d1-4f01-bb08-5370aff0321b",
"description": "The publicly available URL you want to be notified with events as the user progresses through the application. See [Connect Webhook Event](https://developer.mastercard.com/open-banking-us/documentation/webhooks/webhooks-connect/) for event details."
}
WebhookContentType
{
"type": "string",
"default": "application/json",
"example": "application/json",
"description": "The content type the webhook events will be sent in. Supported types: \"application/json\" and \"application/xml\"."
}
WebhookData
{
"type": "object",
"description": "Allows additional identifiable information to be inserted into the payload of connect webhook events. See: [Custom Webhooks](https://developer.mastercard.com/open-banking-us/documentation/webhooks/webhooks-custom/)."
}
WebhookHeaders
{
"type": "object",
"description": "Allows additional identifiable information to be included as headers of connect webhook event. See: [Custom Webhooks](https://developer.mastercard.com/open-banking-us/documentation/webhooks/webhooks-custom/)."
}
WithInsights
{
"type": "boolean",
"example": true,
"description": "If Identity Insights data must be returned or not"
}
ZipCode
{
"type": "string",
"example": "84123",
"description": "A ZIP code"
}