> ## Documentation Index
> Fetch the complete documentation index at: https://docs.truv.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a user bank income insights report

> The endpoint creates a bank income insights report for the user.



## OpenAPI

````yaml POST /v1/users/{user_id}/income_insights/reports/
openapi: 3.0.1
info:
  title: Truv API
  description: Truv API Documentation
  termsOfService: https://www.truv.com/legal/terms-of-use
  contact:
    email: support@truv.com
  version: v1
servers:
  - url: https://prod.truv.com
security:
  - ClientID: []
    AccessKey: []
tags:
  - name: Users
  - name: Bridge Token
  - name: Companies and Data Providers
  - name: Key Management
  - name: Account Links
  - name: Data Refresh
  - name: Customization Templates
  - name: Webhooks
  - name: Orders
  - name: Tasks
  - name: VOIE Reports
  - name: VOA Reports
  - name: Income Insights Reports
  - name: DDS Reports
  - name: Employment
  - name: Identity
  - name: Shifts
  - name: Pay Statements
  - name: Tax Documents
  - name: Parsed Documents
  - name: Reports
  - name: Uploaded Documents
  - name: Bank Accounts
  - name: Bank Statements
  - name: Deposit Switch Reports
  - name: Insurance Reports
  - name: Income Report
  - name: Scoring Attributes
  - name: Accounts
  - name: Transactions
  - name: Recurring Transactions
  - name: Document Collections
paths:
  /v1/users/{user_id}/income_insights/reports/:
    parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
        example: 24d7e80942ce4ad58a93f70ce4115f5c
    post:
      tags:
        - Income Insights Reports
      summary: Create a user bank income insights report
      description: The endpoint creates a bank income insights report for the user.
      operationId: income-insights-report-create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncomeInsightsRequest'
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncomeInsightsApplicantReport'
        '400':
          description: HTTP 400 Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: HTTP 401 Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: HTTP 403 Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
components:
  schemas:
    IncomeInsightsRequest:
      required:
        - days_requested
      type: object
      description: Income insights report parameters.
      properties:
        days_requested:
          description: >-
            The specific duration in days for which the report is requested to
            be generated.
          type: integer
          default: 60
          maximum: 730
          minimum: 30
        consumer_report_permissible_purpose:
          description: >-
            Describes the reason you are generating an Income Insights Report
            for this user.
          type: string
          example: ACCOUNT_REVIEW_CREDIT
          enum:
            - ACCOUNT_REVIEW_CREDIT
            - ACCOUNT_REVIEW_NON_CREDIT
            - EMPLOYMENT
            - EXTENSION_OF_CREDIT
            - LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING
            - LEGITIMATE_BUSINESS_NEED_OTHER
            - WRITTEN_INSTRUCTION_PREQUALIFICATION
            - WRITTEN_INSTRUCTION_OTHER
    IncomeInsightsApplicantReport:
      type: object
      properties:
        report_id:
          description: Unique identifier of the report.
          type: string
          readOnly: true
          example: 7d4fcb86b81a4880955beea558092391
          maxLength: 32
        created_at:
          description: Timestamp when the report was created.
          type: string
          format: date-time
          readOnly: true
          example: '2022-05-04T11:30:00Z'
        completed_at:
          description: Timestamp when the report was completed.
          type: string
          format: date-time
          readOnly: true
          example: '2022-05-04T12:00:00Z'
        days_requested:
          description: Number of days for which transactions are requested.
          type: integer
          format: int32
          readOnly: true
          example: 60
        links:
          description: List of assets links
          type: array
          items:
            $ref: '#/components/schemas/LinkIncomeInsights'
        bank_income_summary:
          $ref: '#/components/schemas/BankIncomeInsightsSourcesSummary'
      required:
        - report_id
        - created_at
        - completed_at
        - days_requested
        - links
        - bank_income_summary
    Error400:
      description: ''
      type: object
      properties:
        error:
          description: ''
          type: object
          properties:
            code:
              description: ''
              type: string
              example: incorrect_parameters
            message:
              description: ''
              type: string
              example: Incorrect request parameters
            extra:
              description: ''
              type: object
              properties:
                invalid-params:
                  description: ''
                  type: array
                  items:
                    description: ''
                    type: object
                    properties:
                      field:
                        description: ''
                        type: string
                        example: access_token
                      message:
                        description: ''
                        type: string
                        example: This field is required.
                  example:
                    - field: access_token
                      message: This field is required.
    Error401:
      description: ''
      type: object
      properties:
        error:
          description: ''
          type: object
          properties:
            code:
              description: ''
              type: string
              example: authentication_failed
            message:
              description: ''
              type: string
              example: No such token
    Error403:
      description: ''
      type: object
      properties:
        error:
          description: ''
          type: object
          properties:
            code:
              description: ''
              type: string
              example: not_authenticated
            message:
              description: ''
              type: string
              example: Authentication credentials were not provided.
    LinkIncomeInsights:
      required:
        - link_id
        - accounts
      type: object
      properties:
        link_id:
          description: Unique identifier of the link.
          type: string
          readOnly: true
          example: 150491a20bdb4292bb2a2ad8554fecba
          maxLength: 32
        created_at:
          description: >-
            The date and time when the link was first created, specified in ISO
            8601 format.
          type: string
          format: date-time
          readOnly: true
          example: '2022-05-04T11:30:00Z'
        updated_at:
          description: >-
            The date and time of the most recent update made to the link, in ISO
            8601 format.
          type: string
          format: date-time
          readOnly: true
          example: '2022-05-04T12:00:00Z'
        provider:
          description: Data provider ID.
          type: string
          readOnly: true
          example: chase
          maxLength: 64
        provider_name:
          description: Data provider name.
          type: string
          readOnly: true
          example: Chase Bank
          maxLength: 128
        tracking_info:
          description: Additional optional identifier passed by user.
          type: string
          readOnly: true
          nullable: true
          maxLength: 255
        accounts:
          description: List of demand deposit accounts.
          type: array
          items:
            $ref: '#/components/schemas/AccountIncomeInsights'
        bank_income_sources:
          description: List of bank income sources.
          type: array
          items:
            $ref: '#/components/schemas/BankIncomeInsightsSource'
    BankIncomeInsightsSourcesSummary:
      required:
        - start_date
        - end_date
        - income_sources_count
        - income_categories_count
        - income_transactions_count
        - total_amounts
        - historical_average_monthly_gross_income
        - historical_average_monthly_income
        - forecasted_average_monthly_income
        - historical_annual_gross_income
        - historical_annual_income
        - forecasted_annual_income
      type: object
      properties:
        start_date:
          description: >-
            Minimum of all transaction dates among all income sources in the
            user's bank accounts for days requested by the client.
          type: string
          format: date
          readOnly: true
          nullable: true
          example: '2022-05-04'
        end_date:
          description: >-
            Maximum of all transaction dates among all income sources in the
            user's bank accounts for days requested by the client.
          type: string
          format: date
          nullable: true
          readOnly: true
          example: '2022-05-04'
        income_sources_count:
          description: Number of income sources per end user.
          type: integer
          readOnly: true
          example: 1
        income_categories_count:
          description: Number of income categories per end user.
          type: integer
          readOnly: true
          example: 1
        income_transactions_count:
          description: Number of income transactions per end user.
          type: integer
          readOnly: true
          example: 1
        total_amounts:
          description: Total amount of income earned, over all sources. One per currency.
          type: array
          items:
            $ref: '#/components/schemas/AmountISOCurrency'
          readOnly: true
        historical_average_monthly_gross_income:
          description: >-
            Total monthly average gross income earned historically, over all
            sources. One per currency. Gross amounts are estimated from
            transactions.
          type: array
          items:
            $ref: '#/components/schemas/AmountISOCurrency'
          readOnly: true
        historical_average_monthly_income:
          description: >-
            Total monthly average income earned historically, over all sources.
            One per currency.
          type: array
          items:
            $ref: '#/components/schemas/AmountISOCurrency'
          readOnly: true
        forecasted_average_monthly_income:
          description: >-
            Total forecasted monthly average income, over all sources. One per
            currency.
          type: array
          items:
            $ref: '#/components/schemas/AmountISOCurrency'
          readOnly: true
        historical_annual_gross_income:
          description: >-
            Annualized gross income earned historically, over all sources. One
            per currency.
          type: array
          items:
            $ref: '#/components/schemas/AmountISOCurrency'
          readOnly: true
        historical_annual_income:
          description: >-
            Annualized income earned historically, over all sources. One per
            currency.
          type: array
          items:
            $ref: '#/components/schemas/AmountISOCurrency'
          readOnly: true
        forecasted_annual_income:
          description: Annualized forecasted income, over all sources. One per currency.
          type: array
          items:
            $ref: '#/components/schemas/AmountISOCurrency'
          readOnly: true
    AccountIncomeInsights:
      type: object
      properties:
        id:
          description: Unique identifier of the account.
          type: string
          readOnly: true
          example: 61a8c91314724edb9a8fea7f90d1d59a
          maxLength: 32
        mask:
          description: >-
            The masked banking account number associated with a particular
            account.
          type: string
          readOnly: true
          example: '****1234'
          maxLength: 64
          nullable: true
        nickname:
          description: An alternate name for the account.
          type: string
          readOnly: true
          example: My account
          maxLength: 255
          nullable: true
        type:
          description: The parent type of the account, e.g., CHECKING or SAVINGS.
          type: string
          readOnly: true
          example: CHECKING
          maxLength: 255
        subtype:
          description: >-
            The account's subtype, e.g., PLAN_401_K, MONEY_MARKET, or
            HOME_EQUITY.
          type: string
          readOnly: true
          example: MONEY_MARKET
          nullable: true
          maxLength: 255
        days_available:
          description: >-
            Days of transaction history available at report generation time,
            from earliest transaction to report date (inclusive).
          type: integer
          readOnly: true
          example: 365
          minimum: 0
        owners:
          description: List of owners for account.
          type: array
          items:
            $ref: '#/components/schemas/AssetsOwner'
      required:
        - id
        - owners
    BankIncomeInsightsSource:
      required:
        - start_date
        - end_date
        - account_id
        - total_amount
        - transaction_count
        - historical_summary
        - avg_deposit_amount
      type: object
      properties:
        start_date:
          description: >-
            Minimum of all dates within the specific income sources in the
            user's bank account for days requested by the client.
          type: string
          format: date
          readOnly: true
          example: '2022-05-04'
        end_date:
          description: >-
            Maximum of all dates within the specific income sources in the
            user's bank account for days requested by the client.
          type: string
          format: date
          readOnly: true
          example: '2022-05-04'
        account_id:
          description: Unique identifier of the account.
          type: string
          readOnly: true
          example: 24d7e80942ce4ad58a93f70ce4115f5c
          maxLength: 32
        income_description:
          description: Description for the underlying income transactions.
          type: string
          readOnly: true
          example: Paycheck
        income_category:
          description: The income category.
          type: string
          nullable: true
          enum:
            - PAYCHECK
            - RETIREMENT
            - RENTAL
            - UNEMPLOYMENT
            - GOVERNMENT_EMPLOYMENT
            - GOVERNMENT_BENEFITS
            - PRIVATE_BENEFITS
            - EWA_PAYROLL
            - GIG_ECONOMY
            - P2P_TRANSFER
            - TAX_CREDITS
            - CASH_OR_CHECK
            - INTEREST
            - INVESTMENT
            - OTHER
            - null
          readOnly: true
          example: PAYCHECK
        pay_frequency:
          description: |+

            Pay frequency:

            * `M` - Monthly,
            * `SM` - Semi-Monthly,
            * `W` - Weekly,
            * `BW` - Bi-Weekly,
            * `A` - Annually,
            * `SA` - Semiannually,
            * `C` - Commission

          type: string
          nullable: true
          enum:
            - M
            - SM
            - W
            - BW
            - A
            - SA
            - C
            - null
          readOnly: true
          example: SM
        next_payment_date:
          description: The next payment date for the income source.
          type: string
          format: date
          readOnly: true
          nullable: true
          example: '2022-06-01'
        total_amount:
          description: >-
            Total amount of earnings for the income source of the user in the
            summary.
          type: string
          format: decimal
          readOnly: true
          example: '200.31'
        iso_currency_code:
          description: The ISO 4217 currency code of the amount or balance.
          type: string
          readOnly: true
          nullable: true
          example: USD
        transaction_count:
          description: Number of income transactions per end user for this source.
          type: integer
          readOnly: true
          example: 1
        historical_summary:
          description: List of bank statements for each period.
          type: array
          items:
            type: object
            properties:
              start_date:
                description: >-
                  The start date of the period covered in this monthly summary.
                  This date will be the first day of the month, unless the month
                  being covered is a partial month because it is the first month
                  included in the summary and the date range being requested
                  does not begin with the first day of the month.
                type: string
                format: date
                readOnly: true
                example: '2022-05-04'
              end_date:
                description: >-
                  The end date of the period included in this monthly summary.
                  This date will be the last day of the month, unless the month
                  being covered is a partial month because it is the last month
                  included in the summary and the date range being requested
                  does not end with the last day of the month.
                type: string
                format: date
                readOnly: true
                example: '2022-05-04'
              total_amount:
                description: >-
                  Total amount of earnings for the income source of the user for
                  the month in the summary.
                type: string
                format: decimal
                readOnly: true
                example: '200.31'
              iso_currency_code:
                description: The ISO 4217 currency code of the amount or balance.
                type: string
                readOnly: true
                nullable: true
                example: USD
              transactions:
                description: List of transactions
                type: array
                items:
                  type: object
                  properties:
                    amount:
                      description: >-
                        The settled value of the transaction, denominated in the
                        transactions's currency as stated in iso_currency_code.
                        Negative values when money moves out of the account;
                        positive otherwise.
                      type: string
                      format: decimal
                      readOnly: true
                      example: '200.31'
                    iso_currency_code:
                      description: The ISO 4217 currency code of the amount or balance.
                      type: string
                      readOnly: true
                      nullable: true
                      example: USD
                    date:
                      description: The date that the transaction occurred.
                      type: string
                      format: date
                      readOnly: true
                      example: '2022-05-04'
                    check_number:
                      description: The check number for the transaction.
                      type: string
                      readOnly: true
                      nullable: true
                      maxLength: 255
                    description:
                      description: A human-readable transaction description.
                      type: string
                      readOnly: true
                    pending:
                      description: True if status of the transaction is PENDING or not set.
                      type: boolean
                      readOnly: true
                    transaction_id:
                      description: Unique identifier of the transaction.
                      type: string
                      readOnly: true
                      maxLength: 32
                      example: 7d4fcb86b81a4880955beea558092391
        historical_average_monthly_income:
          description: >-
            Historical average income deposited into the account, per calendar
            month, typically net of taxes and deductions.
          type: string
          format: decimal
          readOnly: true
          nullable: true
          example: '10000.00'
        historical_average_monthly_gross_income:
          description: >-
            Historical average gross payment amount, per calendar month,
            predicted based on the transaction data.
          type: string
          format: decimal
          nullable: true
          readOnly: true
          example: '12000.00'
        forecasted_average_monthly_income:
          description: Forecasted income deposited into the account, per calendar month.
          type: string
          format: decimal
          nullable: true
          readOnly: true
          example: '10000.00'
        avg_deposit_amount:
          description: >-
            The average amount received per deposit, typically net of taxes and
            deductions.
          type: string
          format: decimal
          readOnly: true
          example: '5000.00'
        avg_gross_deposit_amount:
          description: >-
            The average gross payment per deposit. Gross pay is predicted based
            on the transaction data.
          type: string
          format: decimal
          readOnly: true
          example: '6000.00'
        employer:
          $ref: '#/components/schemas/Employer'
    AmountISOCurrency:
      required:
        - amount
        - iso_currency_code
      type: object
      properties:
        amount:
          description: Amount of earnings.
          type: string
          format: decimal
          readOnly: true
          example: '200.31'
        iso_currency_code:
          description: The ISO 4217 currency code of the amount or balance.
          type: string
          readOnly: true
          nullable: true
          example: USD
    AssetsOwner:
      type: object
      properties:
        id:
          description: Unique identifier of the owner.
          type: string
          format: string
          readOnly: true
          example: 2b623fa2fa9e49cea17d9692caa884c5
          maxLength: 64
        full_name:
          description: The account owner's name.
          type: string
          readOnly: true
          example: John Doe
          maxLength: 255
        email:
          description: The account owner's email address.
          type: string
          format: email
          nullable: true
          example: john.doe@example.com
        phone:
          description: The account owner's phone number.
          type: string
          nullable: true
          example: '14155554193'
        address:
          description: The account owner's address.
          type: object
          properties:
            street:
              description: Street
              type: string
              nullable: true
              example: 1 Morgan Ave
            city:
              description: City
              type: string
              nullable: true
              example: Los Angeles
            state:
              description: State
              type: string
              nullable: true
              example: CA
            zip:
              description: Zip code
              type: string
              nullable: true
              example: '90210'
            country:
              description: Country
              type: string
              nullable: true
              example: US
        relation_type:
          description: The relationship this person has to the account.
          type: string
          nullable: true
          example: PRIMARY
          enum:
            - PRIMARY
            - BUSINESS
            - JOINT
            - SECONDARY
            - AUTHORIZED_USER
            - FOR_BENEFIT_OF
            - ACCOUNT_BENEFICIARY
            - CUSTODIAN
            - OTHER
            - null
      required:
        - id
    Employer:
      type: object
      properties:
        id:
          description: Employer ID.
          type: string
          readOnly: true
          example: meta
          maxLength: 64
          nullable: true
        name:
          description: Employer name.
          type: string
          readOnly: true
          example: Meta
          maxLength: 128
        logo_url:
          description: Employer logo image.
          type: string
          nullable: true
      required:
        - id
        - name
      nullable: true
  securitySchemes:
    ClientID:
      type: apiKey
      description: Client ID
      name: X-Access-Client-Id
      in: header
    AccessKey:
      type: apiKey
      description: Client Access Key
      name: X-Access-Secret
      in: header

````