Finicity Cash Flow API

Generate cash flow reports asynchronously

Operations 2

POST /decisioning/v2/customers/{customerId}/cashFlowBusiness Generate Cash Flow Report for the Customer (Business) #
POST /decisioning/v2/customers/{customerId}/cashFlowPersonal Generate Cash Flow Report for the Customer (Personal) #

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-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

finicity-cash-flow-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Open Finance Cash Flow 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
  description: Generate cash flow reports asynchronously
paths:
  /decisioning/v2/customers/{customerId}/cashFlowBusiness:
    post:
      tags:
      - Cash Flow
      summary: Generate Cash Flow Report for the Customer (Business)
      description: 'Generate a Cash Flow Report (Business) report for all supported account types under the given customer. This service retrieves up to two years of transaction history for the given account. It then uses this information to generate the CFR report. A consumer is not required to generate this report.


        This report is not provided under FCRA rules, and this report is not available in the Finicity Consumer Portal for the borrower to view.


        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.


        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: GenerateCashFlowBusinessReport
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      - $ref: '#/components/parameters/ReportCallbackUrlParameter'
      requestBody:
        $ref: '#/components/requestBodies/GenerateCashFlowReportRequest'
      responses:
        '202':
          $ref: '#/components/responses/GenerateCashFlowReportBusinessResponse'
        '400':
          $ref: '#/components/responses/BadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '403':
          $ref: '#/components/responses/SecurityFreezeErrorResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundErrorResponse'
  /decisioning/v2/customers/{customerId}/cashFlowPersonal:
    post:
      tags:
      - Cash Flow
      summary: Generate Cash Flow Report for the Customer (Personal)
      description: 'Generate a Cash Flow Report (Personal) report for all supported account types under the given customer. This service retrieves up to two years of transaction history for the given account. It then uses this information to generate the CFR report.


        This report is provided under FCRA rules, with Finicity acting as the CRA (Consumer Reporting Agency). If an individual account is included in the report - for example, with an individual acting as an personal guarantor on the loan - then this version of the report should be used. In case of an adverse action on the loan where the decision was based on this report, then the borrower can be referred to the [Finicity Consumer Portal](https://consumer.finicityreports.com) where they can view this report and submit a dispute if they feel any information in this report is inaccurate.


        Before calling this API, a consumer must be created for the given customer ID (see Consumers APIs).


        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.


        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: GenerateCashFlowPersonalReport
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      - $ref: '#/components/parameters/ReportCallbackUrlParameter'
      requestBody:
        $ref: '#/components/requestBodies/GenerateCashFlowReportRequest'
      responses:
        '202':
          $ref: '#/components/responses/GenerateCashFlowReportPersonalResponse'
        '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)
    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'
    InvalidConsumerEmailExample:
      value:
        code: '10100'
        message: Invalid format for field consumer.email.
    BadCredentialsExample:
      value:
        code: '24302'
        message: Bad credentials
    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.
    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)
    GenerateCashFlowReportBusinessResponseExample:
      value:
        id: 383z55zudewm-cfrb
        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 Report - Business
        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:
          accountIds:
          - '1000535275'
          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: cfrb
        status: inProgress
    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.
    GenericBadRequestExample:
      value:
        code: '14020'
        message: Bad request.
    GenerateCashFlowReportPersonalResponseExample:
      value:
        id: 383z51zurqwo-cfrp
        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 Report - Personal
        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:
          accountIds:
          - '1000535275'
          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: cfrp
        status: inProgress
    InvalidConsumerPhoneExample:
      value:
        code: '10100'
        message: Invalid format for field consumer.phone.
    AccountTypeNotSupportedExample:
      value:
        code: '14020'
        message: Bad request. (Account type not supported).
    PermissiblePurposeCodeExample:
      value:
        code: '10100'
        status: '400'
        message: Permissible Purpose Code is required
    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.
    GenerateCashFlowReportRequestExample:
      value:
        accountIds: '1000535275'
        incomeStreamConfidenceMinimum: 50
        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
        showNsf: 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: ''
    NoConsumerForCustomerExample:
      value:
        code: '10100'
        message: Cannot find consumer for customer with id 5011115315."
    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
    CashFlowReportAck:
      required:
      - id
      - customerType
      - customerId
      - requestId
      - requesterName
      - createdDate
      - title
      - consumerId
      - consumerSsn
      - type
      - status
      - constraints
      allOf:
      - $ref: '#/components/schemas/BaseReportAck'
      - type: object
        properties:
          constraints:
            $ref: '#/components/schemas/CashFlowReportConstraintsOut'
    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;
    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
    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 value of the Geolocation field
          example: '85123'
    SocialSecurityNumberLastDigits:
      type: string
      description: Last 4 digits of a SSN
      example: '9999'
    ReportCustomFields:
      type: array
      items:
        $ref: '#/components/schemas/ReportCustomField'
      description: 'The `reportCustomFields` parameter is used when experiences are associated with a credit decisioning report.


        Designate 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".

        * "true": (default) display the custom field in the PDF report

        * "false": don''t display the custom field in the PDF report


        For an experience that generates multiple reports, the `reportCustomFields` parameter gets passed to all reports.


        All custom fields display in the Reseller Billing API.'
    ShowNsf:
      type: boolean
      description: 'Include the non-sufficient funds (NSF) summary JSON and the NSF summary PDF section in the report. Data included:

        * Account


        * Total number of NSF funds


        * Days since the most recent NFS funds fee'
      example: false
    AccountId:
      type: string
      description: An account ID
      example: '5011648377'
    PayrollDataRetrievalId:
      type: string
      description: An ID to identify the data retrieved from the payroll providers for the report.
      example: hahvhe2k0000
    VOAWithIncomeReportConstraintsOut:
      type: object
      properties:
        accountIds:
          $ref: '#/components/schemas/ReportAccountIds'
        reportCustomFields:
          $ref: '#/components/schemas/ReportCustomFields'
        showNsf:
          $ref: '#/components/schemas/ShowNsf'
        fromDate:
          $ref: '#/components/schemas/UnixDate'
        incomeFromDate:
          $ref: '#/components/schemas/VOAIncomeReportIncomeFromDate'
        voaiPdfDepositView:
          type:
          - boolean
          - 'null'
          description: Provide an alternate PDF view of deposit transactions group by income stream in PDF.
          example: true
        incomeStreamConfidenceMinimum:
          $ref: '#/components/schemas/IncomeStreamConfidenceMinimum'
    ReportRequestId:
      type: string
      description: Finicity indicator to track all activity associated with this report
      example: cjqm4wtdcn
    EmploymentId:
      type: string
      description: This is a Mastercard assigned ID to the employment record. It remains consistent for that employment record, even if the report is refreshed. It can be used to limit the employment records that are returned in the report.
      example: 123v3bv2s5n
    ExtractDeductions:
      type: boolean
      description: Field to indicate whether to extract the deductions on all pay statements
      default: false
      example: true
    CashFlowReportConstraintsOut:
      type: object
      properties:
        accountIds:
          $ref: '#/components/schemas/ReportAccountIds'
        reportCustomFields:
          $ref: '#/components/schemas/ReportCustomFields'
        showNsf:
          $ref: '#/components/schemas/ShowNsf'
        fromDate:
          $ref: '#/components/schemas/UnixDate'
        incomeStreamConfidenceMinimum:
          $ref: '#/components/schemas/IncomeStreamConfidenceMinimum'
    VOIEWithTXVerifyReportConstraintsOut:
      required:
      - voieWithInterviewData
      type: object
      properties:
        accountIds:
          $ref: '#/components/schemas/ReportAccountIds'
        voieWithInterviewData:
          $ref: '#/components/schemas/VOIEWithInterviewData'
        reportCustomFields:
          $ref: '#/components/schemas/ReportCustomFields'
        fromDate:
          $ref: '#/components/schemas/UnixDate'
        incomeStreamConfidenceMinimum:
          $ref: '#/components/schemas/IncomeStreamConfidenceMinimum'
    AnalyticsReportData:
      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
        applicantIsPersonalGuarantor:
          type: boolean
          description: Field to indicate if the business owner will personally guarantee the loan. If true, a consumer record will be required.
          example: true
        forFtcPurpose:
          type: boolean
          description: Field to indicate if the requested report is for FTC purpose. Only applicable to business reports.
          example: false
        timeIntervalTypes:
          description: Requested time interval for attribute values.
          example:
          - MONTHLY_CALENDAR
          maxItems: 2
          items:
            $ref: '#/components/schemas/TimeIntervalType'
          type: array
      type: object
    FindTransactionAmountFrom:
      type: number
      description: 'A decimal value to return transactions with **amount** greater than or equal to **findTransactionAmountFrom**.</br>

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

        '
      example: 100
    LastName:
      type: string
      description: The last name of the account holder
      example: Smith
    Income:
      type: integer
      description: "Income is an optional parameter. It is the dollar amount for the customer's annual\n        household income and is used to determine the income band the\ncustomer falls into."
      format: int64
      example: 1000
      minimum: 0
    CashFlowReportConstraints:
      type: object
      properties:
        accountIds:
          $ref: '#/components/schemas/ReportAccountIdsString'
        reportCu

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