Finicity Cash Flow Analytics API

Cash Flow Analytics for business

Operations 1

POST /decisioning/v2/customers/{customerId}/reports/cashflow-analytics/userTypes/{userType} Generate Cash Flow Analytics Report for the customer - Personal/Business #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/finicity-cash-flow-analytics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

finicity-cash-flow-analytics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Open Finance Cash Flow Analytics API
  description: 'OpenAPI specification for Finicity APIs.


    Open Finance (formerly Open Banking) solutions in the US are provided by

    Finicity, a Mastercard company.'
  contact:
    name: API Support
    email: apisupport@mastercard.com
    url: https://developer.mastercard.com/open-finance-us/documentation/support/
  version: 1.43.0
servers:
- url: https://api.finicity.com
  description: Production
security:
- FinicityAppKey: []
  FinicityAppToken: []
tags:
- name: Cash Flow Analytics
  description: Cash Flow Analytics for business
paths:
  /decisioning/v2/customers/{customerId}/reports/cashflow-analytics/userTypes/{userType}:
    post:
      tags:
      - Cash Flow Analytics
      summary: Generate Cash Flow Analytics Report for the customer - Personal/Business
      description: 'Generate a Cashflow Analytics Report for a given customer. This service retrieves up to two years of transaction history from connected accounts.


        Cashflow Analytics analyzes transaction over time to report metrics and identify behavior that may indicate risk.


        Before calling this API, a consumer or business may need to be created for the given customer ID based on the user type (see Consumer/Business APIs).


        Accepted account types include Checking, Savings, Money Market, CD, Investment, Investment Tax Deferred, Employee Stock Purchase Plan, IRA, 401k, 403b, 529, Rollover, UGMA, UTMA, Keogh, 457, 401a, Mortgage, Loan, Credit Card, Line of Credit, Payroll, Student Loan, Brokerage Account, Education Savings, Health Savings Account, Non-Taxable Brokerage Account, Pension, Profit Sharing Plan, Roth 401k, SEP IRA, Simple IRA, Thrift Savings Plan, and Variable Annuity.


        This is a premium service, billable per every successful API call for non-testing customers. A successful call to this API will generate an analytics report which can be retrieved via Get Report by Customer or Get Report by Consumer.


        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: GenerateCashflowAnalyticsReport
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      - $ref: '#/components/parameters/UserTypeParameter'
      - $ref: '#/components/parameters/ReportCallbackUrlParameter'
      requestBody:
        $ref: '#/components/requestBodies/GenerateCashflowAnalyticsReportRequest'
      responses:
        '202':
          $ref: '#/components/responses/GenerateCashflowAnalyticsReportResponse'
        '400':
          $ref: '#/components/responses/BadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '403':
          $ref: '#/components/responses/SecurityFreezeErrorResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundErrorResponse'
components:
  examples:
    MissingFinicityAppKeyExample:
      value:
        code: '10026'
        message: Missing parameter (Finicity-App-Key)
    GenerateCashflowBusinessFtcAnalyticsReportRequestExample:
      value:
        analyticsReportData:
          forCraPurpose: false
          forFtcPurpose: true
          applicantIsPersonalGuarantor: false
          timeIntervalTypes:
          - MONTHLY_CALENDAR
        accountIds: 1000535275 1000535276
        reportCustomFields:
        - label: loanID
          value: '12345'
          shown: true
        - label: trackingID
          value: '5555'
          shown: true
        - label: loanType
          value: car
          shown: false
        - label: vendorID
          value: 1613aa23
          shown: true
        - label: vendorName
          value: PSC Finance
          shown: false
        fromDate: 1580558400
    ResellerInvalidDateRangeGreaterThan31DaysExample:
      value:
        code: '10100'
        message: 'RESELLER_BILLING_REPORT: Invalid date range - It is more than 31 days'
    ResellerNoReportForPartnerExample:
      value:
        code: '10100'
        message: Cannot find resellerBilling reports with id 2445581559892.
    ResellerInvalidDateRangeGreaterThanEndDateExample:
      value:
        code: '10100'
        message: 'RESELLER_BILLING_REPORT: Invalid date range - startDate is greaterThan endDate'
    BothCraAndFtcPurposeTrueExample:
      value:
        code: '10100'
        status: '400'
        message: forCRAPurpose and forFTCPurpose may not both be TRUE.
    SecurityFreezeErrorExample:
      value:
        code: '10405'
        status: '403'
        message: The active security freeze for this consumer exists.
    MissingFieldExample:
      value:
        code: '10005'
        message: Missing parameter (partnerId)
    ResellerInvalidDateRangeLessThanZeroExample:
      value:
        code: '10100'
        message: 'RESELLER_BILLING_REPORT: Invalid date range - start or end date less than or equal to zero'
    GenerateCashflowBusinessCraAnalyticsReportResponseExample:
      value:
        id: sd1j45yn37wr-cfrbcra
        customerType: active
        customerId: 1275320
        requestId: 7a7qyps2iy
        requesterName: Decisioning API
        endUser:
          name: ABC Apartments
          address: 123 Main St
          city: Murray
          state: UT
          zip: '84123'
          phone: 555-2106
          email: customerservice@example.com
          url: example.com
        createdDate: 1579819592
        title: Mastercard Open Banking Cash Flow Analytics
        consumerId: 3f7ff2cf0ffb3d0cd59875e070c9b1d4
        consumerSsn: '1234'
        consumerDetails:
          id: 3f7ff2cf0ffb3d0cd59875e070c9b1d4
          firstName: John
          middleName: Doe
          lastName: Jane
          address: 123 Marple Street
          city: Anytown
          state: PA
          zip: '17101'
          phone: '5551234567'
          ssn: '1234'
          email: john.doe@example.com
        businessDetails:
          id: 123
          name: Name1
          address:
            addressLine1: 2020 State Street
            addressLine2: Suite 301
            city: Salt Lake City
            state: Utah
            country: USA
            postalCode: 84116
        reportPin: 2398jk
        constraints:
          analyticsReportData:
            forCraPurpose: true
            forFtcPurpose: false
            applicantIsPersonalGuarantor: true
            timeIntervalTypes:
            - MONTHLY_CALENDAR
          accountIds:
          - '1000535275'
          - '1000535276'
          fromDate: 1673034682
          reportCustomFields:
          - label: loanID
            value: '12345'
            shown: true
          - label: trackingID
            value: '5555'
            shown: true
          - label: loanType
            value: car
            shown: false
          - label: vendorID
            value: 1613aa23
            shown: true
          - label: vendorName
            value: PSC Finance
            shown: false
        type: barbcra
        status: inProgress
    InvalidConsumerEmailExample:
      value:
        code: '10100'
        message: Invalid format for field consumer.email.
    BadCredentialsExample:
      value:
        code: '24302'
        message: Bad credentials
    GenerateCashflowPersonalNonCraAnalyticsReportRequestExample:
      value:
        analyticsReportData:
          forCraPurpose: false
          timeIntervalTypes:
          - MONTHLY_CALENDAR
        accountIds: 1000535275 1000535276
        reportCustomFields:
        - label: loanID
          value: '12345'
          shown: true
        - label: trackingID
          value: '5555'
          shown: true
        - label: loanType
          value: car
          shown: false
        - label: vendorID
          value: 1613aa23
          shown: true
        - label: vendorName
          value: PSC Finance
          shown: false
        fromDate: 1580558400
    InvalidForesightReportRequestExample:
      value:
        code: '10100'
        message: At least one of customerId or externalCustomerId must be provided; both are also allowed.
    NoRegisteredApplicationExample:
      value:
        code: '50051'
        message: No registered partner applications found.
    ExpiredFinicityAppTokenExample:
      value:
        code: '10023'
        message: Expired (Finicity-App-Token)
    InvalidFieldExample:
      value:
        code: '10010'
        status: '400'
        message: Customer ID does not exist or does not belong to this partner
        user_message: One or more of the fields could not be validated. Please ensure you have entered the correct data.
        tags: ''
    InvalidValueExample:
      value:
        code: '1618'
        message: Negative or invalid value entered. Please use positive numbers only.
    GenerateCashflowPersonalCraAnalyticsReportRequestExample:
      value:
        analyticsReportData:
          forCraPurpose: true
          timeIntervalTypes:
          - MONTHLY_CALENDAR
        accountIds: 1000535275 1000535276
        reportCustomFields:
        - label: loanID
          value: '12345'
          shown: true
        - label: trackingID
          value: '5555'
          shown: true
        - label: loanType
          value: car
          shown: false
        - label: vendorID
          value: 1613aa23
          shown: true
        - label: vendorName
          value: PSC Finance
          shown: false
        fromDate: 1580558400
    InvalidConsumerSSNExample:
      value:
        code: '10100'
        message: Invalid format for field consumer.ssn.  Required format is 9 digits.
    InvalidFinicityAppTokenExample:
      value:
        code: '10022'
        message: Invalid (Finicity-App-Token)
    NoAccountForInstitutionLoginIdExample:
      value:
        code: '38007'
        message: Customer does not have any accounts associated with institutionLoginId.
    CustomerNotFoundExample:
      value:
        code: '14001'
        message: Customer not found.
    ResellerNoDataForPartnerExample:
      value:
        code: '10100'
        message: 'RESELLER_BILLING_REPORT: Reports not found 2445583947903 resellerBilling reports'
    ResellerInvalidDateRangeExample:
      value:
        code: '10100'
        message: 'RESELLER_BILLING_REPORT: Invalid date range - start or end date is empty or null'
    ExpiredTokenExample:
      value:
        code: '10023'
        message: Expired (Finicity-App-Token)
    ResourceNotFoundExample:
      value:
        code: '14001'
        message: Resource not found.
    ConsumerNotFoundExample:
      value:
        code: '10100'
        message: Cannot find consumer with id 1234.
    GenerateCashflowPersonalNonCraAnalyticsReportResponseExample:
      value:
        id: sd1j45yn37wr-cfrpnoncra
        customerType: active
        customerId: 1275320
        requestId: 7a7qyps2iy
        requesterName: Decisioning API
        endUser:
          name: ABC Apartments
          address: 123 Main St
          city: Murray
          state: UT
          zip: '84123'
          phone: 555-2106
          email: customerservice@example.com
          url: example.com
        createdDate: 1579819592
        title: Mastercard Open Banking Cash Flow Analytics
        constraints:
          analyticsReportData:
            forCraPurpose: false
            timeIntervalTypes:
            - MONTHLY_CALENDAR
          accountIds:
          - '1000535275'
          - '1000535276'
          fromDate: 1673034682
          reportCustomFields:
          - label: loanID
            value: '12345'
            shown: true
          - label: trackingID
            value: '5555'
            shown: true
          - label: loanType
            value: car
            shown: false
          - label: vendorID
            value: 1613aa23
            shown: true
          - label: vendorName
            value: PSC Finance
            shown: false
        type: barpnoncra
        status: inProgress
    GenericBadRequestExample:
      value:
        code: '14020'
        message: Bad request.
    NoConsumerForCustomerExample:
      value:
        code: '10100'
        message: Cannot find consumer for customer with id 5011115315."
    InvalidConsumerPhoneExample:
      value:
        code: '10100'
        message: Invalid format for field consumer.phone.
    GenerateCashflowPersonalCraAnalyticsReportResponseExample:
      value:
        id: sd1j45yn37wr-cfrpcra
        customerType: active
        customerId: 1275320
        requestId: 7a7qyps2iy
        requesterName: Decisioning API
        endUser:
          name: ABC Apartments
          address: 123 Main St
          city: Murray
          state: UT
          zip: '84123'
          phone: 555-2106
          email: customerservice@example.com
          url: example.com
        createdDate: 1579819592
        title: Mastercard Open Banking Cash Flow Analytics
        consumerId: 3f7ff2cf0ffb3d0cd59875e070c9b1d4
        consumerSsn: '1234'
        consumerDetails:
          id: 3f7ff2cf0ffb3d0cd59875e070c9b1d4
          firstName: John
          middleName: Doe
          lastName: Jane
          address: 123 Marple Street
          city: Anytown
          state: PA
          zip: '17101'
          phone: '5551234567'
          ssn: '1234'
          email: john.doe@example.com
        constraints:
          analyticsReportData:
            forCraPurpose: true
            timeIntervalTypes:
            - MONTHLY_CALENDAR
          accountIds:
          - '1000535275'
          - '1000535276'
          fromDate: 1673034682
          reportCustomFields:
          - label: loanID
            value: '12345'
            shown: true
          - label: trackingID
            value: '5555'
            shown: true
          - label: loanType
            value: car
            shown: false
          - label: vendorID
            value: 1613aa23
            shown: true
          - label: vendorName
            value: PSC Finance
            shown: false
        type: barpcra
        status: inProgress
    GenerateCashflowBusinessNonCraAnalyticsReportRequestExample:
      value:
        analyticsReportData:
          forCraPurpose: false
          forFtcPurpose: false
          applicantIsPersonalGuarantor: false
          timeIntervalTypes:
          - MONTHLY_CALENDAR
        accountIds: 1000535275 1000535276
        reportCustomFields:
        - label: loanID
          value: '12345'
          shown: true
        - label: trackingID
          value: '5555'
          shown: true
        - label: loanType
          value: car
          shown: false
        - label: vendorID
          value: 1613aa23
          shown: true
        - label: vendorName
          value: PSC Finance
          shown: false
        fromDate: 1580558400
    GenerateCashflowBusinessNonCraAnalyticsReportResponseExample:
      value:
        id: sd1j45yn37wr-cfrbnoncra
        customerType: active
        customerId: 1275320
        requestId: 7a7qyps2iy
        requesterName: Decisioning API
        createdDate: 1579819592
        title: Mastercard Open Banking Cash Flow Analytics
        businessDetails:
          id: 123
          name: Name1
          address:
            addressLine1: 2020 State Street
            addressLine2: Suite 301
            city: Salt Lake City
            state: Utah
            country: USA
            postalCode: 84116
        reportPin: 2398jk
        constraints:
          analyticsReportData:
            forCraPurpose: false
            forFtcPurpose: false
            applicantIsPersonalGuarantor: false
            timeIntervalTypes:
            - MONTHLY_CALENDAR
          accountIds:
          - '1000535275'
          - '1000535276'
          fromDate: 1673034682
          reportCustomFields:
          - label: loanID
            value: '12345'
            shown: true
          - label: trackingID
            value: '5555'
            shown: true
          - label: loanType
            value: car
            shown: false
          - label: vendorID
            value: 1613aa23
            shown: true
          - label: vendorName
            value: PSC Finance
            shown: false
        type: barbnoncra
        status: inProgress
    AccountTypeNotSupportedExample:
      value:
        code: '14020'
        message: Bad request. (Account type not supported).
    PermissiblePurposeCodeExample:
      value:
        code: '10100'
        status: '400'
        message: Permissible Purpose Code is required
    GenerateCashflowBusinessFtcAnalyticsReportResponseExample:
      value:
        id: sd1j45yn37wr-cfrbftc
        customerType: active
        customerId: 1275320
        requestId: 7a7qyps2iy
        requesterName: Decisioning API
        createdDate: 1579819592
        title: Mastercard Open Banking Cash Flow Analytics
        businessDetails:
          id: 123
          name: Name1
          address:
            addressLine1: 2020 State Street
            addressLine2: Suite 301
            city: Salt Lake City
            state: Utah
            country: USA
            postalCode: 84116
        reportPin: 2398jk
        constraints:
          analyticsReportData:
            forCraPurpose: false
            forFtcPurpose: true
            applicantIsPersonalGuarantor: false
            timeIntervalTypes:
            - MONTHLY_CALENDAR
          accountIds:
          - '1000535275'
          - '1000535276'
          fromDate: 1673034682
          reportCustomFields:
          - label: loanID
            value: '12345'
            shown: true
          - label: trackingID
            value: '5555'
            shown: true
          - label: loanType
            value: car
            shown: false
          - label: vendorID
            value: 1613aa23
            shown: true
          - label: vendorName
            value: PSC Finance
            shown: false
        type: barbftc
        status: inProgress
    ResellerPartnerNotAuthorizedExample:
      value:
        code: '10100'
        message: 'RESELLER_BILLING_REPORT: Partner is not authorized to access resellerBilling reports for partnerId 2445583947903'
    CustomerReportLimitExceedExample:
      value:
        code: '20400'
        message: The max report generation limit was exceeded for this customer.
    GenerateCashflowBusinessCraAnalyticsReportRequestExample:
      value:
        analyticsReportData:
          forCraPurpose: true
          forFtcPurpose: false
          applicantIsPersonalGuarantor: true
          timeIntervalTypes:
          - MONTHLY_CALENDAR
        accountIds: 1000535275 1000535276
        reportCustomFields:
        - label: loanID
          value: '12345'
          shown: true
        - label: trackingID
          value: '5555'
          shown: true
        - label: loanType
          value: car
          shown: false
        - label: vendorID
          value: 1613aa23
          shown: true
        - label: vendorName
          value: PSC Finance
          shown: false
        fromDate: 1580558400
    InvalidExperienceFieldExample:
      value:
        code: '10010'
        status: '400'
        message: '"experience" must be a valid GUID'
        user_message: One or more of the fields could not be validated. Please ensure you have entered the correct data.
        tags: ''
    MissingFinicityAppTokenExample:
      value:
        code: '10024'
        message: Missing parameter (Finicity-App-Token)
  schemas:
    SecurityFreezeErrorMessage:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: integer
          description: 'An error code for security freeze. Useful links: [API Errors](https://developer.mastercard.com/open-finance-us/documentation/errors/), [Aggregation Status Codes](https://developer.mastercard.com/open-finance-us/documentation/products/manage/aggregation-status-codes/).'
          format: int32
          example: 10405
        status:
          type: string
          description: A status code
          example: '403'
        message:
          type: string
          description: An error message
          example: The active security freeze for this consumer exists.
    EndUserUrl:
      type: string
      description: Reseller end user URL
      minLength: 2
      maximum: 999
      example: testurl.com
    ReportType:
      description: 'A report type. Possible values:


        * `voi`


        * `voa`


        * `voaHistory`


        * `history`


        * `voieTxVerify`


        * `voieWithReport`


        * `voieWithInterview`


        * `voieWithStatement`


        * `paystatement`


        * `preQualVoa`


        * `assetSummary`


        * `voie`


        * `transactions`


        * `statement`


        * `voiePayroll`


        * `voeTransactions`


        * `farpbfnoncra`


        * `voePayroll`


        * `cfrp`


        * `cfrb`


        * `barpcra`


        * `barpnoncra`


        * `barbcra`


        * `barbftc`


        * `barbnoncra`


        * `cfrpcra`


        * `cfrpnoncra`


        * `cracfrbcra`


        * `cfrbnoncra`


        * `cfrbftc`


        * `phrbcra`


        * `phrbnoncra`


        * `phrbftc`


        * `sbcaanalyticsnoncra`


        * `sbcabenchmarksnoncra`


        * `pripcra`


        * `pripnoncra`


        * `pribcra`


        * `pribnoncra`


        * `pribftc`

        '
      type: string
      example: voi
    ZipCode:
      type: string
      description: A ZIP code
      example: '84123'
    ReportCustomField:
      type: object
      properties:
        label:
          type: string
          description: The name of the custom field
          example: loanID
        value:
          type: string
          description: The value of the custom field
          example: '123456'
        shown:
          type: boolean
          description: If the custom field will show on the PDF or not
          example: true
    VOIReportConstraintsOut:
      type: object
      properties:
        accountIds:
          $ref: '#/components/schemas/ReportAccountIds'
        reportCustomFields:
          $ref: '#/components/schemas/ReportCustomFields'
        fromDate:
          $ref: '#/components/schemas/UnixDate'
        incomeStreamConfidenceMinimum:
          $ref: '#/components/schemas/IncomeStreamConfidenceMinimum'
    NumericCustomerId:
      type: integer
      format: int64
      description: A customer ID represented as a number. See Add Customer API for how to create a customer ID.
      example: 1005061234
    TransactionsReportConstraintsOut:
      type: object
      properties:
        accountIds:
          $ref: '#/components/schemas/ReportAccountIds'
        fromDate:
          $ref: '#/components/schemas/UnixDate'
        toDate:
          $ref: '#/components/schemas/UnixDate'
        includePending:
          $ref: '#/components/schemas/IncludePending'
        reportCustomFields:
          $ref: '#/components/schemas/ReportCustomFields'
        findTransaction:
          $ref: '#/components/schemas/FindTransactionConstraints'
    ConsumerId:
      type: string
      description: A consumer ID. See Create Consumer API for how to create a consumer ID.
      example: 0bf46322c167b562e6cbed9d40e19a4c
    PayStatementData:
      description: Data to be included within the pay statement report
      required:
      - assetIds
      type: object
      properties:
        assetIds:
          description: A list of pay statement asset IDs
          type: array
          items:
            $ref: '#/components/schemas/AssetId'
        extractEarnings:
          $ref: '#/components/schemas/ExtractEarnings'
        extractDeductions:
          $ref: '#/components/schemas/ExtractDeductions'
        extractDirectDeposit:
          $ref: '#/components/schemas/ExtractDirectDeposit'
    EmailAddress:
      type: string
      description: An email address
      example: myname@mycompany.com
    VOAIncomeReportIncomeFromDate:
      type: integer
      description: 'A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).


        By default, the income history is set to 24 months, however, a partner can change the transaction history by setting the `incomeFromDate` parameter.'
      format: int64
      example: 1607450357
    UserType:
      type: string
      description: Type of User, Allowed values Personal/Business
      example: business
    FindTransactionDescriptionMemo:
      type: string
      description: "A string to return transactions that have an exact match to Description/Memo.</br>\n- Description/Memo</br>\n  - Found in the PDF report for reach transactions.</br>\n  - A combination of **description** and **memo** from the JSON version\nof the report.</br>\n"
      example: Paycheck
    FindTransactionAmountTo:
      type: number
      description: 'A decimal value to return transactions with **amount** less than or equal to **findTransactionAmountTo**.</br>

        - If both **findTransactionAmountFrom** and **findTransactionAmountTo** are present. Then transactions with  **amount** between (inclusive) both values will be returned.

        '
      example: 100
    Age:
      type: integer
      description: Age is an optional parameter. This data is used to determine the age band the customer falls into.
      format: int64
      example: 25
      minimum: 0
      maximum: 125
    GeoLocation:
      type: array
      items:
        $ref: '#/components/schemas/GeoLocationItems'
      description: Geolocation array of objects;
    ReportPin:
      type: string
      description: A unique key returned per report for consumer Portal
      example: 2398jk
    TimeIntervalType:
      description: Possible values for strategies in which attributes may be aggregated and reported across varying time intervals. Allowed Values - MONTHLY_CALENDAR - MONTHLY_ROLLING_30
      example: MONTHLY_CALENDAR
      type: string
      default: MONTHLY_CALENDAR
    PayStatementReportConstraints:
      required:
      - paystatementReport
      type: object
      properties:
        paystatementReport:
          $ref: '#/components/schemas/PayStatementData'
        reportCustomFields:
          $ref: '#/components/schemas/ReportCustomFields'
    VOAReportConstraintsOut:
      type: object
      properties:
        accountIds:
          $ref: '#/components/schemas/ReportAccountIds'
        reportCustomFields:
          $ref: '#/components/schemas/ReportCustomFields'
        toDate:
          $ref: '#/components/schemas/UnixDate'
        showNsf:
          $ref: '#/components/schemas/ShowNsf'
        fromDate:
          $ref: '#/components/schemas/UnixDate'
    AddressLine1:
      type: string
      description: Address line 1
      example: 434 W Ascension Way
    AnalyticsReportConstraints:
      type: object
      properties:
        analyticsReportData:
          $ref: '#/components/schemas/AnalyticsReportData'
        accountIds:
          $ref: '#/components/schemas/ReportAccountIdsString'
        reportCustomFields:
          $ref: '#/components/schemas/ReportCustomFields'
        fromDate:
          $ref: '#/components/schemas/UnixDate'
    ReportAccountIds:
      description: An array of account IDs to be included in the report (all accounts will be included if not set)
      type: array
      items:
        $ref: '#/components/schemas/AccountId'
      example:
      - '5011648377'
      - '5011648378'
      - '5011648379'
    PrequalificationReportConstraintsOut:
      type: object
      properties:
        accountIds:
          $ref: '#/components/schemas/ReportAccountIds'
        reportCustomFields:
          $ref: '#/components/schemas/ReportCustomFields'
        showNsf:
          $ref: '#/components/schemas/ShowNsf'
        fromDate:
          $ref: '#/components/schemas/UnixDate'
    VOIEWithStatementData:
      required:
      - assetIds
      type: object
      properties:
        assetIds:
          description: A list of pay statement asset IDs
          type: array
          items:
            $ref: '#/components/schemas/AssetId'
        extractEarnings:
          $ref: '#/components/schemas/ExtractEarnings'
        extractDeductions:
          $ref: '#/components/schemas/ExtractDeductions'
        extractDirectDeposit:
          $ref: '#/components/schemas/ExtractDirectDeposit'
    IncomeStreamConfidenceMinimum:
      type: integer
      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.
      format: int32
      example: 50
    MiddleName:
      type: string
      description: The middle name of the account holder
      example: L
    StatementReportConstraints:
      required:
      - statementReportData
      type: object
      properties:
        statementReportData:
          $ref: '#/components/schemas/StatementData'
        reportCustomFields:
          $ref: '#/components/schemas/ReportCustomFields'
    IncludePending:
      type: boolean
      description: If pending transactions must be included
      example: true
      default: false
    PhoneNumber:
      type: string
      description: A phone number (max length 15).
      example: 1-801-984-4200
    ForesightAnalyticsReportData:
      description: Parameters supplied by the client requesting the analytics.
      properties:
        forCraPurpose:
          type: boolean
          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.
          example: true
        segments:
          type: object
          description: Requested segments for attribute values.
          properties:
            geolocation:
              $ref: '#/components/schemas/GeoLocation'
        analytics:
          description: Analytics information for the requested report. The allowed values are benchmarking & forecasting. If it is null, default to benchmarking and forecasting
          example:
          - benchmarking
          - forecasting
          minItems: 2
          maxItems: 2
          items:
            $ref: '#/components/schemas/AnalyticsType'
          type: array
        timeIntervalTypes:
          description: Requested time interval for attribute values.
          example:
          - MONTHLY_CALENDAR
          maxItems: 2
          items:
            $ref: '#/components/schemas/TimeIntervalType'
          type: array
        income:
          $ref: '#/components/schemas/Income'
        age:
          $ref: '#/components/schemas/Age'
      type: object
    ErrorMessage:
      required:
      - code
      type: object
      properties:
        code:
          type: object
          description: 'An error code (can be returned as a number or a string). Useful links: [Common API Status Codes](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/#common-api-status-codes), [Aggregation Status Codes](https://developer.mastercard.com/open-finance-us/documentation/products/manage/account-aggregation/#aggregation-status-codes).'
          example: '10001'
        status:
          type: string
          description: A status code
          example: '401'
        title:
          type: string
          description: A title for the error
          example: Connecting accounts error
        level:
          type: string
          description: An error level
          example: error
        message:
          type: string
          description: An error message
          example: Invalid authorization credentials
        user_message:
          type: string
          description: Some more details about the error
          example: The session has expired or is invalid
        assetId:
          $ref: '#/components/schemas/AssetId'
        accountId:
          $ref: '#/components/schemas/AccountId'
        externalTransactionId:
          type: string
          description: A unique identifier for the transaction that assists in linking data back to your systems.
          example: MAC1005061234
          minLength: 1
          maxLength: 100
        tags:
          type: string
          description: Categories that the error belongs to
          example: AGG
    GeoLocationItems:
      type: object
      properties:
        label:
          type: string
          description: The name of the Geolocation details. Possible values are POSTAL_CODE
          example: POSTAL_CODE
        value:
          type: string
          description: The valu

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/finicity/refs/heads/main/openapi/finicity-cash-flow-analytics-api-openapi.yml