> ## 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 an income and employment report

> The endpoint creates a report for a user.



## OpenAPI

````yaml POST /v1/users/{user_id}/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}/reports/:
    parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
        example: 24d7e80942ce4ad58a93f70ce4115f5c
    post:
      tags:
        - VOIE Reports
      summary: Create an income and employment report
      description: The endpoint creates a report for a user.
      operationId: v1_users_reports
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VOIEReportsRequest'
        required: false
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LenderApplicantReport'
        '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:
    VOIEReportsRequest:
      type: object
      properties:
        is_voe:
          description: A boolean parameter to request a Verification of Employment report.
          type: boolean
          example: true
          default: false
    LenderApplicantReport:
      type: object
      properties:
        report_id:
          description: Unique identifier of the report.
          type: string
          readOnly: true
          maxLength: 32
          example: 48427a36d43c4d5aa6324bc06c692456
        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'
        last_task_at:
          description: Created timestamp of the latest task.
          type: string
          format: date-time
          readOnly: true
          example: '2022-05-04T12:00:00Z'
        links:
          description: List of employment links
          type: array
          items:
            $ref: '#/components/schemas/LinkEmployments'
      required:
        - report_id
        - created_at
        - completed_at
        - last_task_at
        - links
    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.
    LinkEmployments:
      required:
        - id
        - link_id
        - tracking_info
        - data_source
        - provider
      type: object
      properties:
        id:
          description: Unique identifier of the most recent data pull.
          type: string
          readOnly: true
          maxLength: 32
          example: 24d7e80942ce4ad58a93f70ce4115f5c
        link_id:
          description: Unique identifier of the link.
          type: string
          readOnly: true
          example: 150491a20bdb4292bb2a2ad8554fecba
          maxLength: 32
        tracking_info:
          description: Additional optional identifier passed by user.
          type: string
          readOnly: true
          nullable: true
          maxLength: 255
        data_source:
          description: >-
            Source of data: payroll - payroll provider parsing, docs - user
            uploaded documents.
          type: string
          enum:
            - payroll
            - docs
          example: payroll
        provider:
          description: Data provider ID.
          type: string
          readOnly: true
          maxLength: 64
        provider_name:
          description: Data provider name.
          type: string
          readOnly: true
          maxLength: 128
        employments:
          description: List of employee data.
          type: array
          items:
            $ref: '#/components/schemas/LenderEmployment'
    LenderEmployment:
      required:
        - id
        - profile
        - company
      type: object
      properties:
        income:
          description: >-
            Income amount not including commission or bonuses (only for income
            product, null for employment product)
          type: string
          format: decimal
          example: '70000.00'
        income_unit:
          description: |-

            The pay interval the income field refers to:

            * `YEARLY` - Annual income,
            * `MONTHLY` - Monthly income,
            * `WEEKLY` - Weekly income,
            * `DAILY` - Daily income,
            * `HOURLY` - Hourly income

             (only for income product, null for employment product)
          type: string
          example: YEARLY
          enum:
            - YEARLY
            - MONTHLY
            - WEEKLY
            - DAILY
            - HOURLY
        pay_rate:
          description: >-
            Payment rate per pay cycle (only for income product, null for
            employment product)
          type: string
          format: decimal
          example: '6500.00'
        pay_frequency:
          description: |-

            Pay frequency:

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

             (only for income product, null for employment product)
          type: string
          example: M
          enum:
            - M
            - SM
            - W
            - BW
            - A
            - SA
            - C
        statements:
          description: >-
            List of paystubs received from a payroll provider (only for income
            product, null for employment product)
          type: array
          items:
            $ref: '#/components/schemas/Statement'
          readOnly: true
        annual_income_summary:
          description: >-
            Annual income summary by years (only for income product, null for
            employment product)
          type: array
          items:
            $ref: '#/components/schemas/AnnualIncomeSummary'
          readOnly: true
        bank_accounts:
          description: >-
            List of bank accounts linked to the employment (only for income
            product, null for employment product)
          type: array
          items:
            $ref: '#/components/schemas/BankAccount'
          readOnly: true
        w2s:
          description: >-
            List of W-2 forms linked to the employment (only for income product,
            null for employment product)
          type: array
          items:
            $ref: '#/components/schemas/TaxDocumentW2'
          readOnly: true
        id:
          description: Unique ID
          type: string
          example: 24d7e80942ce4ad58a93f70ce4115f5c
        is_active:
          description: Indicates whether the employment is still active
          type: boolean
          example: false
        job_title:
          description: Employee's job title
          type: string
          example: PR associate
        job_type:
          description: |+

            Employee's job type:

            * `F` - Full Time,
            * `P` - Part Time,
            * `S` - Seasonal,
            * `D` - Daily (per diem),
            * `C` - Contract,
            * `V` - Volunteer

          type: string
          example: F
          enum:
            - F
            - P
            - S
            - D
            - C
            - V
        start_date:
          description: Employee's hire date
          type: string
          format: date
          example: '2018-01-01'
        original_hire_date:
          description: Original hire date
          type: string
          format: date
          example: '2017-06-21'
        end_date:
          description: Employee's end date
          type: string
          format: date
        external_last_updated:
          description: >-
            Indicates the date when employment data was last updated on the
            Payroll Provider side
          type: string
          format: date
        derived_fields:
          description: Array of derived fields
          type: array
          items:
            type: string
          example:
            - is_active
        missing_data_fields:
          description: >-
            List of the data fields which are missing in the payroll API
            response
          type: array
          items:
            type: string
          example:
            - w2s
        manager_name:
          description: Supervisor's name
          type: string
          nullable: true
          example: Jenny McDouglas
        profile:
          $ref: '#/components/schemas/Profile'
        company:
          $ref: '#/components/schemas/Company'
        gse_accepted:
          description: >-
            Indicates whether the provider is considered eligible by Fannie Mae
            Desktop Underwriter
          type: boolean
          readOnly: true
        last_period_end:
          description: Period end date of the latest paystub.
          type: string
          format: date
          readOnly: true
          example: '2022-05-04'
        last_pay_date:
          description: Pay date of the latest paystub.
          type: string
          format: date
          readOnly: true
          example: '2022-05-04'
      description: Employment data
      title: LenderEmploymentSerializer
    Statement:
      required:
        - pay_date
      type: object
      properties:
        id:
          description: Unique ID
          type: string
          example: 24d7e80942ce4ad58a93f70ce4115f5c
        check_number:
          description: External ID of pay stub from the payroll provider
          type: string
          format: string
          nullable: true
          example: '29205182'
        pay_date:
          description: Pay Date
          type: string
          format: date
          example: '2018-05-15'
        net_pay:
          description: Net pay
          type: string
          format: decimal
          nullable: true
          example: '11500.32'
        net_pay_ytd:
          description: Net pay year to date
          type: string
          format: decimal
          nullable: true
          example: '31980.64'
        gross_pay:
          description: Gross pay
          type: string
          format: decimal
          nullable: true
          example: '13900.11'
        gross_pay_ytd:
          description: Gross pay year to date
          type: string
          format: decimal
          nullable: true
          example: '49200.00'
        bonus:
          description: Bonus
          type: string
          format: decimal
          nullable: true
          example: '100.00'
        commission:
          description: Commission
          type: string
          format: decimal
          nullable: true
          example: '12000.00'
        hours:
          description: Work hours during a pay period
          type: string
          format: decimal
          nullable: true
          example: '40.00'
        basis_of_pay:
          description: |+

            Basis of pay:

            * `S` - Salary,
            * `H` - Hourly,
            * `D` - Daily,
            * `W` - Weekly,
            * `M` - Monthly,
            * `C` - Contract,

          type: string
          enum:
            - S
            - H
            - D
            - W
            - M
            - null
          nullable: true
          example: S
        period_start:
          description: Period start
          type: string
          format: date
          nullable: true
          example: '2018-05-01'
        period_end:
          description: Period end
          type: string
          format: date
          nullable: true
          example: '2018-05-15'
        regular:
          description: Regular pay
          type: string
          format: decimal
          nullable: true
          example: '1695.11'
        regular_ytd:
          description: Regular salary year to date
          type: string
          format: decimal
          nullable: true
          example: '23000.00'
        other_pay_ytd:
          description: All other pays year to date
          type: string
          format: decimal
          nullable: true
          example: '700.00'
        bonus_ytd:
          description: Bonus year to date
          type: string
          format: decimal
          nullable: true
          example: '1000.00'
        commission_ytd:
          description: Commission year to date
          type: string
          format: decimal
          nullable: true
          example: '24000.00'
        overtime:
          description: Overtime pay
          type: string
          format: decimal
          nullable: true
          example: '45.00'
        overtime_ytd:
          description: Overtime pay year to date
          type: string
          format: decimal
          nullable: true
          example: '500.00'
        other_pay:
          description: All other pays
          type: string
          format: decimal
          nullable: true
          example: '60.00'
        earnings:
          description: Earnings for this pay cycle by type
          type: array
          items:
            type: object
            properties:
              name:
                description: Name of earnings
                type: string
                example: Regular
              amount:
                description: Amount of earnings
                type: string
                format: decimal
                example: '1935.77'
              category:
                description: Category of earnings
                type: string
                enum:
                  - regular
                  - overtime
                  - bonus
                  - commission
                  - other_pay
                example: regular
              rate:
                description: Rate of earnings
                type: string
                format: decimal
                nullable: true
              units:
                description: Units of earnings
                type: string
                format: decimal
                nullable: true
            required:
              - name
              - amount
              - category
          nullable: true
          example:
            - name: Regular
              amount: '1935.77'
              category: regular
              rate: null
              units: null
            - name: Overtime
              amount: '60.58'
              category: overtime
              rate: '30.29'
              units: '2'
        earnings_ytd:
          description: Earnings year to date by type
          type: array
          items:
            type: object
            properties:
              name:
                description: Name of earnings
                type: string
                example: Regular
              amount:
                description: Amount of earnings
                type: string
                format: decimal
                example: '1935.77'
              category:
                description: Category of earnings
                type: string
                enum:
                  - regular
                  - overtime
                  - bonus
                  - commission
                  - other_pay
                example: regular
              rate:
                description: Rate of earnings
                type: string
                format: decimal
                nullable: true
              units:
                description: Units of earnings
                type: string
                format: decimal
                nullable: true
            required:
              - name
              - amount
              - category
          nullable: true
          example:
            - name: Regular
              amount: '1935.77'
              category: regular
              rate: null
              units: null
            - name: Overtime
              amount: '60.58'
              category: overtime
              rate: '30.29'
              units: '2'
        deductions:
          description: Deductions for this pay cycle by type
          type: array
          items:
            type: object
            properties:
              name:
                description: Name of the deduction
                type: string
                example: Social Security Tax
              amount:
                description: Amount of the deduction
                type: string
                format: decimal
                example: '127.01'
              category:
                description: Category of the deduction
                type: string
                enum:
                  - memo
                  - medicare
                  - retirement
                  - socialsec
                  - federal
                  - state
                  - benefit
                  - garnishment
                  - local
                  - other
                example: socialsec
            required:
              - name
              - amount
              - category
          nullable: true
          example:
            - name: Social Security Tax
              amount: '127.01'
              category: socialsec
            - name: VA State Income Tax
              amount: '46.23'
              category: state
            - name: Medicare Tax
              amount: '29.7'
              category: medicare
        deductions_ytd:
          description: Deductions year to date by type
          type: array
          items:
            type: object
            properties:
              name:
                description: Name of the deduction
                type: string
                example: Social Security Tax
              amount:
                description: Amount of the deduction
                type: string
                format: decimal
                example: '127.01'
              category:
                description: Category of the deduction
                type: string
                enum:
                  - memo
                  - medicare
                  - retirement
                  - socialsec
                  - federal
                  - state
                  - benefit
                  - garnishment
                  - local
                  - other
                example: socialsec
            required:
              - name
              - amount
              - category
          nullable: true
          example:
            - name: Social Security Tax
              amount: '127.01'
              category: socialsec
            - name: VA State Income Tax
              amount: '46.23'
              category: state
            - name: Medicare Tax
              amount: '29.7'
              category: medicare
        md5sum:
          description: MD5 hash value computed based on the file content
          type: string
          format: string
          nullable: true
          example: 03639d6a6624f69a54a88ea90bd25e9d
        file:
          description: Link to a pay stub file (format is specified in the content-type)
          type: string
          format: uri
          nullable: true
          example: https://cdn.truv.com/paystub_sample.pdf
        derived_fields:
          description: Array of derived fields
          type: array
          items:
            type: string
          example:
            - basis_of_pay
        missing_data_fields:
          description: >-
            List of the data fields which are missing in the payroll API
            response
          type: array
          items:
            type: string
          example:
            - earnings_ytd
      description: Pay stub data
    AnnualIncomeSummary:
      required:
        - id
        - year
      type: object
      properties:
        id:
          description: Unique ID
          type: string
          example: 24d7e80942ce4ad58a93f70ce4115f5c
        year:
          description: Income report year
          type: integer
          example: 2018
        regular:
          description: Regular salary
          type: string
          format: decimal
          nullable: true
          example: '23000.00'
        bonus:
          description: Bonus
          type: string
          format: decimal
          nullable: true
          example: '1000.00'
        commission:
          description: Commission
          type: string
          format: decimal
          nullable: true
          example: '24000.00'
        overtime:
          description: Overtime pay
          type: string
          format: decimal
          nullable: true
          example: '500.00'
        other_pay:
          description: All other pays
          type: string
          format: decimal
          nullable: true
          example: '700.00'
        net_pay:
          description: Net pay
          type: string
          format: decimal
          nullable: true
          example: '31980.64'
        gross_pay:
          description: Gross pay
          type: string
          format: decimal
          nullable: true
          example: '49200.00'
      description: Annual income summary
    BankAccount:
      required:
        - account_number
      type: object
      properties:
        account_number:
          description: Account number
          type: string
          example: '1234567890'
        routing_number:
          description: Routing number
          type: string
          example: '123456789'
        account_name:
          description: User friendly account name
          type: string
          nullable: true
          example: My Bank
        account_type:
          description: |+

            Account type:

            * `C` - Checking account,
            * `S` - Savings account,

          type: string
          enum:
            - C
            - S
            - null
          nullable: true
          example: C
        deposit_type:
          description: |+

            Deposit type:

            * `E` - Entire paycheck,
            * `P` - Percentage of the paycheck,
            * `A` - Fixed amount from the paycheck,

          type: string
          enum:
            - E
            - P
            - A
            - null
          nullable: true
          example: A
        deposit_value:
          description: Deposit value
          type: string
          format: decimal
          nullable: true
          example: '200.00'
        bank_name:
          description: Bank name
          type: string
          nullable: true
          example: TD Bank
      description: Bank account
    TaxDocumentW2:
      required:
        - file
        - year
        - md5sum
      type: object
      properties:
        file:
          description: Link to a W2 report file (format is specified in the content-type)
          type: string
          format: uri
          example: https://cdn.truv.com/W2_sample.pdf
        md5sum:
          description: MD5 hash value computed based on the file content
          type: string
          format: string
          example: f65e30c39124ad707ac4b3aeaee923a7
        year:
          description: Year
          type: integer
          example: 2020
        wages:
          description: Wages, tips, other compensation (section 1)
          type: string
          format: decimal
          nullable: true
          example: '900.50'
        federal_tax:
          description: Federal income tax withheld (section 2)
          type: string
          format: decimal
          nullable: true
          example: '75.01'
        social_security_wages:
          description: Social security wages (section 3)
          type: string
          format: decimal
          nullable: true
          example: '900.50'
        social_security_tax:
          description: Social security tax withheld (section 4)
          type: string
          format: decimal
          nullable: true
          example: '56.30'
        medicare_wages:
          description: Medicare wages (section 5)
          type: string
          format: decimal
          nullable: true
          example: '900.50'
        medicare_tax:
          description: Medicare tax withheld (section 6)
          type: string
          format: decimal
          nullable: true
          example: '13.15'
        gross_pay:
          description: Gross pay
          type: string
          format: decimal
          nullable: true
          example: '18211.48'
      description: W-2 Form
    Profile:
      required:
        - first_name
        - last_name
      type: object
      properties:
        id:
          description: ID of the object
          type: string
          example: 48427a36d43c4d5aa6324bc06c692456
        created_at:
          description: Person's identity info was retrieved first time (ISO 8601)
          type: string
          example: '2022-06-07T15:00:00Z'
        updated_at:
          description: Person's identity info was retrieved last time (ISO 8601)
          type: string
          example: '2022-06-30T15:00:00Z'
        first_name:
          description: First name
          type: string
          example: John
        last_name:
          description: Last name
          type: string
          example: Doe
        full_name:
          description: Full name
          type: string
          example: John Doe
        middle_initials:
          description: Middle initials
          type: string
          example: K
          nullable: true
        email:
          description: Email address
          type: string
          format: email
          nullable: true
          example: john.doe@example.com
        ssn:
          description: Social security number (Full or last 4 digits)
          type: string
          example: '123456789'
        date_of_birth:
          description: Date of birth
          type: string
          format: date
          nullable: true
          example: '1992-03-03'
        home_address:
          description: Home address
          nullable: true
          type: object
          properties:
            street:
              description: Street
              type: string
              example: 1 Morgan Ave
            city:
              description: City
              type: string
              example: Los Angeles
            state:
              description: State
              type: string
              example: CA
            zip:
              description: Zip code
              type: string
              example: '90210'
            country:
              description: Country
              type: string
              example: US
      description: Person's identity information
    Company:
      required:
        - name
        - address
      type: object
      properties:
        name:
          description: Company name
          type: string
          example: Facebook Demo
        address:
          description: Company address
          type: object
          properties:
            street:
              description: Street
              type: string
              example: 1 Morgan Ave
            city:
              description: City
              type: string
              example: Los Angeles
            state:
              description: State
              type: string
              example: CA
            zip:
              description: Zip code
              type: string
              example: '90210'
            country:
              description: Country
              type: string
              example: US
        phone:
          description: Company phone number
          type: string
          nullable: true
          example: '6503087300'
        ein:
          description: Employer Identification Number  (EIN)
          type: string
          nullable: true
          example: 12-345678
      description: Company information
  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

````