object 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)."
}
object 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."
}
object 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."
}
object 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"
}
integer TransactionsFromDate
{
  "type": "integer",
  "format": "int64",
  "example": 1607450357,
  "description": "Value of the `fromDate` request parameter that generated this response"
}
object 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"
}
object 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)"
}
object 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"
}
object TransactionsReportConstraints
{
  "type": "object",
  "properties": {
    "fromDate": {
      "$ref": "#/components/schemas/UnixDate"
    },
    "accountIds": {
      "$ref": "#/components/schemas/ReportAccountIdsString"
    },
    "reportCustomFields": {
      "$ref": "#/components/schemas/ReportCustomFields"
    }
  }
}
object 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"
    }
  }
}
integer TransactionsToDate
{
  "type": "integer",
  "format": "int64",
  "example": 1607450357,
  "description": "Value of the `toDate` request parameter that generated this response"
}
string TxPushCallbackUrl
{
  "type": "string",
  "example": "https://www.mydomain.com/txpush/listener",
  "description": "A callback URL where to receive TxPush notifications"
}
object TxPushSubscriptionParameters
{
  "type": "object",
  "required": [
    "callbackUrl"
  ],
  "properties": {
    "callbackUrl": {
      "$ref": "#/components/schemas/TxPushCallbackUrl"
    }
  }
}
object TxPushSubscriptions
{
  "type": "object",
  "required": [
    "subscriptions"
  ],
  "properties": {
    "subscriptions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SubscriptionRecord"
      }
    }
  }
}
object TxVerifyInterview
{
  "type": "object",
  "required": [
    "assetId"
  ],
  "properties": {
    "assetId": {
      "$ref": "#/components/schemas/AssetId"
    },
    "accounts": {
      "$ref": "#/components/schemas/ReportAccountIds"
    }
  }
}
integer 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/)."
}
string UserType
{
  "type": "string",
  "example": "business",
  "description": "Type of User, Allowed values Personal/Business"
}
object 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"
}
object 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"
}
object 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."
    }
  }
}
object 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"
}
object VOAReportConstraints
{
  "type": "object",
  "properties": {
    "showNsf": {
      "$ref": "#/components/schemas/ShowNsf"
    },
    "fromDate": {
      "$ref": "#/components/schemas/UnixDate"
    },
    "accountIds": {
      "$ref": "#/components/schemas/ReportAccountIdsString"
    },
    "reportCustomFields": {
      "$ref": "#/components/schemas/ReportCustomFields"
    }
  }
}
object VOAReportConstraintsOut
{
  "type": "object",
  "properties": {
    "showNsf": {
      "$ref": "#/components/schemas/ShowNsf"
    },
    "fromDate": {
      "$ref": "#/components/schemas/UnixDate"
    },
    "accountIds": {
      "$ref": "#/components/schemas/ReportAccountIds"
    },
    "reportCustomFields": {
      "$ref": "#/components/schemas/ReportCustomFields"
    }
  }
}
object 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"
}
object 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"
        }
      }
    }
  ]
}
object 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"
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object 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"
}
object 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"
}
object 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"
    }
  }
}
object 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"
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object 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."
    }
  }
}
object 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"
}
object VOIEPaystubPayStatement
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/PayStatementForVoie"
    },
    {
      "type": "object",
      "properties": {
        "monthlyIncome": {
          "$ref": "#/components/schemas/PaystubMonthlyIncomeRecord"
        }
      }
    }
  ]
}
object 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"
}
object 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"
}
object VOIEPaystubWithStatementPayStatement
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/PayStatementForVoie"
    },
    {
      "type": "object",
      "properties": {
        "monthlyIncome": {
          "$ref": "#/components/schemas/PaystubTxVerifyMonthlyIncomeRecord"
        }
      }
    }
  ]
}
object 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"
}
object 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"
}
object 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"
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object 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"
    }
  }
}
Load more schemas