Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.finicity.com
/microentry/v1/customers/{customerId}/accounts/{accountId}
Fetch the micro entries details. `customerId` and `accountId` are the identifiers of the customer and account receiving the micro entries. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /microentry/v1/customers/{customerId}/accounts/{accountId}
/aggregation/v1/customers/{customerId}/accounts
Get all accounts owned by the given customer. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /aggregation/v1/customers/{customerId}/accounts
/aggregation/v1/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts
Get all accounts associated with the given institution login. All accounts returned are accessible by a single set of credentials on a single institution. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v1/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts
/aggregation/v1/customers/{customerId}/institutions/{institutionId}/accounts
Get all active accounts owned by the given customer at the given institution. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v1/customers/{customerId}/institutions/{institutionId}/accounts
/aggregation/v2/customers/{customerId}/accounts/{accountId}
Get a customer account by ID. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v2/customers/{customerId}/accounts/{accountId}
/aggregation/v1/customers/{customerId}/accounts/simple
This API is a lighter version of Get Customer Accounts, returning only basic information of all active customer accounts. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /aggregation/v1/customers/{customerId}/accounts/simple
/aggregation/v1/customers/{customerId}/accounts/{accountId}/simple
This API is a lighter version of Get Customer Accounts by ID, returning only basic information of a customer account. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v1/customers/{customerId}/accounts/{accountId}/simple
/aggregation/v1/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts/simple
This API is a lighter version of Get Customer Accounts by Institution Login ID, returning only basic information of all active accounts owned by the given customer at the given institution login ID. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v1/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts/simple
/aggregation/v1/customers/{customerId}/institutions/{institutionId}/accounts/simple
This API is a lighter version of Get Customer Accounts by Institution ID, returning only basic information of active accounts owned by the given customer at the given institution. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v1/customers/{customerId}/institutions/{institutionId}/accounts/simple
/aggregation/v2/partners/applications
Get the status of your application registration(s). _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /aggregation/v2/partners/applications
/aggregation/v1/customers/{customerId}/assets/{assetId}
Retrieve a binary file for the given asset ID. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v1/customers/{customerId}/assets/{assetId}
/analytics/data/v1/{obb_report_id}
Retrieve the report saved by _Generate Balance Analytics_, _Generate Cash Flow Analytics_, or _Generate Payment History_. Requires the report ID generated by the previous call. Report data can either be retrieved as a JSON document or PDF file. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /analytics/data/v1/{obb_report_id}
/analytics/data/v1/{obb_report_id}/fcra
Retrieve the report saved by _Generate Balance Analytics - FCRA_, _Generate Cash Flow Analytics - FCRA_, or _Generate Payment History - FCRA_. Requires the report ID generated by the previous call. Report data can either be retrieved as a JSON document or PDF file. *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 |
GET /analytics/data/v1/{obb_report_id}/fcra
/aggregation/v1/customers/{customerId}/accounts/{accountId}/statement
Retrieve the customer's bank statements in PDF format. Up to 24 months of history is available depending on the financial institution. Since this is a premium service, charges incur per each successful statement retrieved. For certified financial institutions, statements are available for the following account types: * Checking * Savings * Money market * CDs * Investments * Mortgage * Credit cards * Loans * Line of credit * Student Loans Note: setting the timeout to 180 seconds is recommended to allow enough time for a response. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /aggregation/v1/customers/{customerId}/accounts/{accountId}/statement
/aggregation/v3/customers/{customerId}/accounts/{accountId}/statement
This endpoint retrieves account statements for a given customer. The maximum number of statements that can be returned is 24. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /aggregation/v3/customers/{customerId}/accounts/{accountId}/statement
/business-services/businesses/{business_id}
Retrieve business details. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /business-services/businesses/{business_id}
/business-services/customers/{customer_id}/businesses
Retrieve business details associated with a specific customer. By providing the unique customer identifier, details about the associated business can be accessed. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /business-services/customers/{customer_id}/businesses
/decisioning/v1/consumers/{consumerId}
Get the details of a consumer record by consumer ID. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /decisioning/v1/consumers/{consumerId}
/decisioning/v1/customers/{customerId}/consumer
Get the details of a consumer record by customer ID. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /decisioning/v1/customers/{customerId}/consumer
/aggregation/v1/customers
Find all customers enrolled by the current partner, where the search text is found in the customer's username or any combination of `firstName` and `lastName` fields. If no search text is provided, all customers will be returned. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /aggregation/v1/customers
/aggregation/v1/customers/{customerId}
Retrieve a customer by ID. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /aggregation/v1/customers/{customerId}
/aggregation/v1/customers/{customerId}/application
Retrieve a customer along with additional details about the OAuth application. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /aggregation/v1/customers/{customerId}/application
/institution/v2/certifiedInstitutions
Search for financial institutions by certified product. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /institution/v2/certifiedInstitutions
/institution/v2/certifiedInstitutions/rssd
Search for certified financial institutions w/RSSD. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /institution/v2/certifiedInstitutions/rssd
/institution/v2/institutions
Search for financial institutions. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /institution/v2/institutions
/institution/v2/institutions/{institutionId}
Get financial institution details by ID. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /institution/v2/institutions/{institutionId}
/institution/v2/institutions/{institutionId}/branding
Return the branding information for a financial institution. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /institution/v2/institutions/{institutionId}/branding
/aggregation/v1/customers/{customerId}/accounts/{accountId}/availableBalance
Retrieve the latest cached available and cleared account balances for a customer. Since we update and store balances throughout the day, this is the most accurate balance information available when a connection to a financial institution is unavailable or when a faster response is needed. Only deposit account types are supported: Checking, Savings, Money Market, and CD. Note: this is a premium service, billable per every successful API call. Enrollment is required. _Supported account types_: "checking", "savings", "moneyMarket", "cd" _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v1/customers/{customerId}/accounts/{accountId}/availableBalance
/aggregation/v1/customers/{customerId}/accounts/{accountId}/availableBalance/live
Retrieve the available and cleared account balances for a single account in real-time directly from a financial institution. Note: this is a premium service, billable per every successful API call. _Supported account types_: "checking", "savings", "moneyMarket", "cd" _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v1/customers/{customerId}/accounts/{accountId}/availableBalance/live
/aggregation/v1/customers/{customerId}/accounts/{accountId}/details
Return the real account number and routing number details for an ACH payment. Note: this is a premium service, billable per every successful API call. _Supported account types_: "checking", "savings", "moneyMarket", "cd" _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v1/customers/{customerId}/accounts/{accountId}/details
/aggregation/v1/customers/{customerId}/accounts/{accountId}/owner
Retrieve the names and addresses of the account owner from a financial institution. Note: this is a premium service, billable per every successful API call. This service retrieves account data from the institution. This usually returns quickly, but in some scenarios may take a few minutes to complete. In the event of a timeout condition, retry the call. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v1/customers/{customerId}/accounts/{accountId}/owner
/aggregation/v2/customers/{customerId}/accounts/{accountId}/loanDetails
Return the loan payment details of the customer for a loan-type account. Note: this is a premium service, billable per every successful API call. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v2/customers/{customerId}/accounts/{accountId}/loanDetails
/aggregation/v3/customers/{customerId}/accounts/{accountId}/details
Return the real account number and routing number details for an ACH payment along with the supported payment instruction details. Note: this is a premium service, billable per every successful API call. _Supported account types_: "checking", "savings", "moneyMarket", "loan" _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v3/customers/{customerId}/accounts/{accountId}/details
/aggregation/v3/customers/{customerId}/accounts/{accountId}/owner
This service retrieves the account details for an account holder from an institution. The following data objects are available. * Account holders * Addresses * Emails * Phones * Documentations * Identity Insights Note: The data returned varies from institution to institution as not all of them make the same data available. This is a premium service, billable per each successful API call. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /aggregation/v3/customers/{customerId}/accounts/{accountId}/owner
/decisioning/v1/consumers/{consumerId}/portfolios/{portfolioId}
Return a portfolio of most recently generated reports for each report type for a given consumer. If there are multiple reports that were generated for a report type (VOA, VOI, etc.), only the most recently generated report for the type will be returned. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /decisioning/v1/consumers/{consumerId}/portfolios/{portfolioId}
/decisioning/v1/customers/{customerId}/portfolios/{portfolioId}
Return a portfolio of most recently generated reports for each report type for the given customer. If there are multiple reports that were generated for a report type (VOA, VOI, etc.), only the most recently generated report for the type will be returned. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /decisioning/v1/customers/{customerId}/portfolios/{portfolioId}
/decisioning/v1/consumers/{consumerId}/reports
Get all reports that have been generated by previous calls to Generate Report services for the given consumer. The `status` fields in the returned list contain "inProgress", "failure", or "success". If the status shows "inProgress", the client app should wait 20 seconds and then call this API again. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /decisioning/v1/consumers/{consumerId}/reports
/decisioning/v1/customers/{customerId}/reports
Get all reports that have been generated by previous calls to Generate Report services for the given customer. The `status` fields in the returned list contain "inProgress", "failure", or "success". If the status shows "inProgress", the client app should wait 20 seconds and then call this API again. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /decisioning/v1/customers/{customerId}/reports
/decisioning/v3/consumers/{consumerId}/reports/{reportId}
Get a report that has been generated by a previous call to one of the Generate Report services. The report's `status` field contains "inProgress", "failure", or "success". If the status shows "inProgress", the client app should wait 20 seconds and then call this API again. Report data can either be retrieved as a JSON document or a PDF file. To specify the format required, set the _Accept request header_ to either **application/json** or **application/pdf**. If neither is set, the report format will be returned as a JSON document. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /decisioning/v3/consumers/{consumerId}/reports/{reportId}
/decisioning/v3/customers/{customerId}/reports/{reportId}
Get a report that has been generated by a previous call to one of the Generate Report services. The report's `status` field contains "inProgress", "failure", or "success". If the status shows "inProgress", the client app should wait 20 seconds and then call this API again. Report data can either be retrieved as a JSON document or a PDF file. To specify the format required, set the _Accept request header_ to either **application/json** or **application/pdf**. If neither is set, the report format will be returned as a JSON document. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /decisioning/v3/customers/{customerId}/reports/{reportId}
/aggregation/v2/customers/{customerId}/transactions/{transactionId}
Get details for the given transaction. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /aggregation/v2/customers/{customerId}/transactions/{transactionId}
/aggregation/v3/customers/{customerId}/transactions
Get all transactions available for this customer within the given date range, across all accounts. This service supports paging and sorting by `transactionDate` (or `postedDate` if no transaction date is provided), with a maximum of 1000 transactions per request. Standard consumer aggregation provides up to 180 days of transactions prior to the date each account was added to the Finicity system. To access older transactions, you must first call the service Load Historic Transactions for Account. There is no limit for the size of the window between `fromDate` and `toDate`, however, the maximum number of transactions returned on one page is 1000. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /aggregation/v3/customers/{customerId}/transactions
/aggregation/v4/customers/{customerId}/accounts/{accountId}/transactions
Get all transactions available for this customer account within the given date range. This service supports paging and sorting by `transactionDate` (or `postedDate` if no transaction date is provided), with a maximum of 1000 transactions per request. Standard consumer aggregation provides up to 180 days of transactions prior to the date each account was added to the Finicity system. To access older transactions, you must first call the Cash Flow Verification service Load Historic Transactions for Account. There is no limit for the size of the window between `fromDate` and `toDate`, however, the maximum number of transactions returned on one page is 1000. _Supported regions_: 
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /aggregation/v4/customers/{customerId}/accounts/{accountId}/transactions
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"
}