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"
}
]
}