> ## 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 order

> The endpoint creates an order



## OpenAPI

````yaml POST /v1/orders/
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/orders/:
    parameters: []
    post:
      tags:
        - Orders
      summary: Create an order
      description: The endpoint creates an order
      operationId: v1_orders_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Order'
        description: An Order for a user to link an account
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
        '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:
    Order:
      required:
        - products
        - first_name
        - last_name
      type: object
      properties:
        products:
          description: Types of products selected for the order
          type: array
          example:
            - income
          items:
            type: string
            enum:
              - income
              - employment
              - deposit_switch
              - pll
              - insurance
              - transactions
              - assets
            default: employment
        first_name:
          description: First name
          type: string
          example: John
        last_name:
          description: Last name
          type: string
          example: Doe
        ssn:
          description: User's SSN. Should be 4 or 9 digits length.
          type: string
          example: '222233333'
        email:
          description: Subject's email
          type: string
          format: email
        phone:
          description: Subject's phone number
          type: string
          example: '4155554193'
        order_number:
          description: External ID for the order.
          type: string
          example: '1534332'
        external_user_id:
          description: >-
            External user identifier. If not provided, order_number will be used
            for backwards compatibility.
          type: string
          maxLength: 512
          example: user_12345
          nullable: true
        employers:
          description: List of employers
          type: array
          items:
            $ref: '#/components/schemas/EmployerCreate'
        financial_institutions:
          description: List of financial institutions
          type: array
          items:
            $ref: '#/components/schemas/FinancialInstitutionCreate'
          maxItems: 5
        insurance:
          $ref: '#/components/schemas/InsuranceCreate'
        manager:
          type: object
          required:
            - email
          properties:
            email:
              description: Email of the order manager
              type: string
              example: john.doe@example.com
              maxLength: 255
            name:
              description: Name of the order manager
              type: string
              example: John Doe
              maxLength: 600
          description: Associate your order manager info with an order.
        loan:
          $ref: '#/components/schemas/Loan'
        reports:
          $ref: '#/components/schemas/CreateReports'
        template_id:
          description: ID of the template
          type: string
          example: 9b96606355b94e8abff8ed8d75aa2027
        custom_field:
          description: >-
            Client provided custom field. Must be enabled in the dashboard
            customization section.
          type: string
        cc_emails:
          description: >-
            A list of email addresses that will receive carbon copies (CC) of
            order status updates.
          type: array
          items:
            type: string
            format: email
          maxItems: 15
        notes:
          description: Free text field for notes associated with the order
          type: string
          example: To be processed by John Doe
          nullable: true
          minLength: 1
          maxLength: 2000
        source:
          description: Type of the platform (internal, accio, etc.)
          type: string
          example: floify
          enum:
            - floify
            - besmartee
            - lenderlogix
            - encompass_consumer_connect
            - byte
            - core_logic
            - xactus
            - constellation
            - banno
            - mx
            - q2
            - clutch
            - accio
            - encompass
            - tpo_connect
            - darkmatter
            - tazworks
            - internal
            - simplenexus
            - external_webpage
            - individual
            - alkami
            - blue_sage
            - lodasoft
            - blend
            - tidalwave
            - self_signup
        notification_settings:
          description: Configuration for order notifications
          type: object
          properties:
            suppress_user_notifications:
              description: >-
                When true, suppresses all user-facing notifications for this
                order. If enabled, first_notification_delay_hours is ignored.
              type: boolean
              default: false
              example: false
            first_notification_delay_hours:
              description: >-
                Number of hours to delay the first notification. Default is 0
                (immediate). Ignored when suppress_user_notifications is true.
              type: integer
              default: 0
              example: 0
              minimum: 0
        locale:
          description: Locale parameter (ISO 639) for regional customization of the order
          type: string
          enum:
            - en
            - ar
            - cmn
            - es
            - fa
            - hy
            - km
            - zh
            - hi
            - hmn
            - ja
            - ko
            - lo
            - ium
            - pa
            - pt
            - ru
            - so
            - tl
            - th
            - uk
            - vi
          example: es
    OrderResponse:
      required:
        - id
        - first_name
        - last_name
        - user_id
        - products
        - source
        - client_name
        - share_url
        - created_at
        - expired_at
        - employers
        - is_expired
      type: object
      properties:
        id:
          description: Unique ID
          type: string
          example: 39aa1486ccca4bc19cda071ffc1ba392
        products:
          description: Types of products selected for the order
          type: array
          example:
            - income
          items:
            type: string
            enum:
              - income
              - employment
              - deposit_switch
              - pll
              - insurance
              - transactions
              - assets
        source:
          description: Type of the platform (internal, accio, etc.)
          type: string
          example: floify
          enum:
            - floify
            - besmartee
            - lenderlogix
            - encompass_consumer_connect
            - byte
            - core_logic
            - xactus
            - constellation
            - banno
            - mx
            - q2
            - clutch
            - accio
            - encompass
            - tpo_connect
            - darkmatter
            - tazworks
            - internal
            - simplenexus
            - external_webpage
            - individual
            - alkami
            - blue_sage
            - lodasoft
            - blend
            - tidalwave
            - self_signup
        order_number:
          description: External ID
          type: string
          nullable: true
          example: '1534332'
        custom_field:
          description: >-
            User provided custom field. Must be enabled in the customization
            section.
          type: string
          nullable: true
        client_name:
          description: Client name displayed on the order page
          type: string
          example: Unnamed Verifications Inc.
        first_name:
          description: First name
          type: string
          example: John
        last_name:
          description: Last name
          type: string
          example: Doe
        user_id:
          description: Unique Truv ID of the user.
          type: string
          example: 99dd17074ac94aa9ace2621d657c7610
        bridge_token:
          description: UUID value of bridge token
          type: string
          example: e4100fccdae94691b4414c7306220c06
        share_url:
          description: Landing page URL to share
          type: string
          nullable: true
          example: >-
            https://cdn.truv.com/employment.html?bridge_token=63b4af88facb40e48f517c1e8c7abdf4&order_group_id=39aa1486ccca4bc19cda071ffc1ba392
        created_at:
          description: Date and time when order was created
          type: string
          format: date-time
          example: '2021-04-21T21:45:14.418542Z'
        updated_at:
          description: Date and time when order was updated
          type: string
          format: date-time
          example: '2021-04-21T21:45:14.418542Z'
        canceled_at:
          description: Date and time when order was canceled
          type: string
          format: date-time
          nullable: true
          example: '2021-04-22T21:45:14.418542Z'
        completed_at:
          description: Date and time when order was successfully completed
          type: string
          format: date-time
          nullable: true
          example: '2021-04-22T21:45:14.418542Z'
        expired_at:
          description: Date and time when order would expire
          type: string
          format: date-time
          example: '2021-04-24T21:45:14.418542Z'
        is_expired:
          description: If order is already expired
          type: boolean
        user_consent_at:
          description: Date and time when explicit user consent was given
          type: string
          format: date-time
          nullable: true
          example: '2021-04-21T21:45:14.418542Z'
        initial_order:
          description: >-
            ID of an origin order if the order was created by the order data
            refresh operation
          type: string
          nullable: true
          example: f5dc0239e2094dbc90ab2edc1918a9df
        refresh_order:
          description: >-
            ID of the last refresh order created by the order data refresh
            operation for the order
          type: string
          nullable: true
          example: 9b96606355b94e8abff8ed8d75aa2027
        employers:
          description: List of employers
          type: array
          items:
            $ref: '#/components/schemas/EmployerResponse'
        insurance:
          $ref: '#/components/schemas/InsuranceResponse'
        manager:
          type: object
          required:
            - email
          properties:
            email:
              description: Email of the order manager
              type: string
              example: john.doe@example.com
              maxLength: 255
            name:
              description: Name of the order manager
              type: string
              example: John Doe
              maxLength: 600
          nullable: true
          description: Order manager info associated with an order.
        financial_accounts:
          description: List of financial accounts
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/BankResponse'
        loan:
          $ref: '#/components/schemas/Loan'
        template_id:
          description: ID of the template
          type: string
          nullable: true
          example: 9b96606355b94e8abff8ed8d75aa2027
        cc_emails:
          description: >-
            A list of email addresses that will receive carbon copies (CC) of
            order status updates.
          type: array
          items:
            type: string
            format: email
          maxItems: 15
        short_share_url:
          description: Shortened verification URL to share
          type: string
          nullable: true
          example: https://truv.com/s/BIlEyh1A
        voie_report_id:
          description: GSE accepted income and employment verification report ID
          type: string
          nullable: true
          example: b19c454a98594b4084b71e3b62873d29
        voa_report_id:
          description: Verification of Assets report ID
          type: string
          nullable: true
          example: b19c454a98594b4084b71e3b62873d29
        income_insights_report_id:
          description: Income Insights report ID
          type: string
          nullable: true
          example: b19c454a98594b4084b71e3b62873d29
        aim_check_report_id:
          description: AIM check report ID
          type: string
          nullable: true
          example: FM-1234-39aa1486ccca4bc19cda071ffc1ba392
        notes:
          description: Free text field for notes associated with the order
          type: string
          example: To be processed by John Doe
          nullable: true
          minLength: 1
          maxLength: 2000
    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.
    EmployerCreate:
      type: object
      properties:
        start_date:
          description: Job start date
          type: string
          format: date
          example: '2019-08-24'
        end_date:
          description: Job end date
          type: string
          format: date
          example: '2019-11-27'
        company_name:
          description: Company name
          type: string
          example: Facebook Demo
        company_address:
          description: Company address
          required:
            - street
            - city
            - state
            - zip
          type: object
          properties:
            street:
              description: Company location street
              type: string
              example: 1 Hacker Way
            city:
              description: Company location city
              type: string
              example: Menlo Park
            state:
              description: Company location state
              type: string
              example: CA
            zip:
              description: Company location zip code
              type: string
              example: '94025'
        company_domain:
          description: Company website domain
          type: string
          example: facebook.com
        company_logo:
          description: Company logo URL
          type: string
          format: uri
          example: https://cdn.truv.com/company_logos/facebook.svg
        suborder_number:
          description: External ID
          type: string
          example: '133982343355'
        account:
          description: >-
            Bank account info. Used for Direct deposit switching and Paycheck
            linked lending
          required:
            - account_number
            - routing_number
            - bank_name
          type: object
          properties:
            action:
              description: >

                Action to be performed on the account.


                `update` and `delete` actions are only available for the
                accounts that were previously created.
              type: string
              example: create
              enum:
                - create
                - update
                - delete
            account_number:
              description: >-
                Account number. Only digits are allowed, leading zeros will be
                preserved.
              type: string
              example: '16002600'
              maxLength: 20
              minLength: 4
            routing_number:
              description: >-
                Routing number. Only digits are allowed, leading zeros will be
                preserved.
              type: string
              example: '123456789'
              maxLength: 12
              minLength: 8
            account_type:
              description: |+

                Account type. Required for the `create` action.

                * `checking` - Checking account,
                * `savings` - Savings account

              type: string
              example: checking
              enum:
                - checking
                - savings
            bank_name:
              description: Bank name. Required for the `create` action.
              type: string
              example: TD Bank
              maxLength: 128
              minLength: 1
            bank_address:
              description: Bank address.
              type: string
              example: 123 Main St, New York, NY 10001
              maxLength: 1024
              minLength: 1
            deposit_type:
              description: >

                Deposit type.

                For `pll` product type is required and must be set to `amount`.

                For `deposit_switch` product type is optional and can be set to
                any supported value.


                * `entire` - Entire paycheck,

                * `percent` - Percentage of the paycheck,

                * `amount` - Fixed amount from the paycheck
              type: string
              example: entire
              enum:
                - entire
                - percent
                - amount
            deposit_value:
              description: >

                Deposit value.


                Possible values for this field depend on the `deposit_type`
                field:

                `percent` - this field must be set to a whole number between 0
                and 100.

                `amount` - this field must be set to a number between 0 and
                9999.99.

                `entire` - this field must be set to `null` or be not provided.
              type: string
              example: '50.00'
        company_mapping_id:
          description: Company mapping ID
          type: string
          example: self_employed
        data_sources:
          description: >-
            List of data sources for the provided product_type. Leave blank to
            apply default values.
          type: array
          example:
            - payroll
          items:
            type: string
            enum:
              - payroll
              - docs
              - insurance
              - financial_accounts
              - tax
    FinancialInstitutionCreate:
      type: object
      properties:
        id:
          description: ID of a financial institution
          type: string
          maxLength: 64
        name:
          description: Name of a financial institution
          type: string
          example: Chase
          maxLength: 128
        suborder_number:
          description: External ID
          type: string
          example: '133982343355'
          maxLength: 512
    InsuranceCreate:
      type: object
      properties:
        provider_id:
          description: ID of a insurance provider
          type: string
          example: geico
      description: Insurance verification additional parameters
    Loan:
      required:
        - loan_number
      type: object
      nullable: true
      properties:
        loan_number:
          description: Loan identifier
          type: string
          example: MUUT220700012
          maxLength: 128
        originator_name:
          description: Name of the loan originator
          type: string
          example: John Doe
          maxLength: 255
          nullable: true
        originator_email:
          description: Email of the loan originator
          type: string
          format: email
          example: john@example.com
          maxLength: 255
          nullable: true
        loan_processor_name:
          description: Name of the loan processor
          type: string
          example: John Doe
          maxLength: 255
          nullable: true
        loan_processor_email:
          description: Email of the loan processor
          type: string
          format: email
          example: john@doe.com
          maxLength: 255
          nullable: true
        external_id:
          description: External loan ID
          type: string
          nullable: true
          example: c505e0f1b4134fdc853fc87e7d2cc4a5
      description: Loan Information
    CreateReports:
      type: object
      properties:
        voa:
          $ref: '#/components/schemas/CreateVoaRequest'
        income_insights:
          $ref: '#/components/schemas/CreateIncomeInsightsRequest'
      description: Reports parameters
    EmployerResponse:
      required:
        - id
        - status
        - created_at
        - employments
      type: object
      properties:
        id:
          description: Unique ID
          type: string
          example: ad9f14440d624ec3b0f66e81e44518c7
        product_type:
          description: Type of the product.
          type: string
          enum:
            - income
            - employment
            - deposit_switch
            - pll
          example: income
        status:
          description: Order status
          type: string
          enum:
            - pending
            - sent
            - completed
            - error
            - canceled
            - expired
            - no_data
            - skipped
          example: pending
        suborder_number:
          description: External ID
          type: string
          nullable: true
          example: '133982343355'
        created_at:
          description: Date and time when order was created
          type: string
          example: '2021-04-21T22:12:59.346109Z'
        bridge_token:
          description: UUID value of bridge token
          type: string
          example: e4100fccdae94691b4414c7306220c06
        link_id:
          description: Link ID for the connected account
          type: string
          nullable: true
          example: e4100fccdae94691b4414c7306220c06
        access_token:
          description: Access token to perform data refresh
          type: string
          nullable: true
          example: e4100fccdae94691b4414c7306220c06
        pdf_report:
          description: Verification report in PDF format
          type: string
          format: uri
          nullable: true
          example: https://cdn.truv.com/report.pdf
        data_source:
          description: >-
            Source of data: payroll - payroll provider parsing, docs - user
            uploaded documents, insurance - insurance data, financial_accounts -
            bank data, tax - tax documents, scoring_attributes - transactions
            scoring attributes report.
          type: string
          enum:
            - payroll
            - docs
            - tax
            - financial_accounts
            - null
          nullable: true
          example: payroll
        provider:
          description: Payroll or insurance provider
          required:
            - id
            - name
          type: object
          properties:
            id:
              description: Provider id
              type: string
              example: truv_api
            name:
              description: Provider name
              type: string
              example: Sandbox Provider
            logo_url:
              description: Provider logo url
              type: string
              nullable: true
              format: uri
              example: https://cdn.truv.com/providers/truv-blue.svg
          nullable: true
        is_suspicious:
          description: >-
            Flag to indicate if the data from the source is suspicious. E.g.
            fraud detected in uploaded documents or SSN of the user does not
            match with the data
          type: boolean
        start_date:
          description: Employment start date
          type: string
          example: '2019-08-24'
          nullable: true
        end_date:
          description: Employment start date
          type: string
          example: '2019-11-27'
          nullable: true
        company_name:
          description: Company name
          type: string
          example: Facebook Demo
          nullable: true
        company_address:
          description: Company address
          required:
            - street
            - city
            - state
            - zip
          type: object
          nullable: true
          properties:
            street:
              description: Company location street
              type: string
              example: 1 Hacker Way
            city:
              description: Company location city
              type: string
              example: Menlo Park
            state:
              description: Company location state
              type: string
              example: CA
            zip:
              description: Company location zip code
              type: string
              example: '94025'
        company_domain:
          description: Company website domain
          type: string
          nullable: true
          example: facebook.com
        company_logo:
          description: Company logo URL
          type: string
          format: uri
          nullable: true
          example: https://cdn.truv.com/company_logos/facebook.svg
        employments:
          description: List of employments
          type: array
          nullable: true
          items:
            type: object
            properties:
              income:
                description: >-
                  Income amount not including commission or bonuses (only for
                  income product)
                type: string
                format: decimal
                nullable: true
                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)
                type: string
                example: YEARLY
                enum:
                  - YEARLY
                  - MONTHLY
                  - WEEKLY
                  - DAILY
                  - HOURLY
                  - null
                nullable: true
              pay_rate:
                description: Payment rate per pay cycle (only for income product)
                type: string
                format: decimal
                nullable: true
                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)
                type: string
                nullable: true
                example: M
                enum:
                  - M
                  - SM
                  - W
                  - BW
                  - A
                  - SA
                  - C
                  - null
              statements:
                description: >-
                  List of paystubs received from a payroll provider (only for
                  income product)
                type: array
                items:
                  $ref: '#/components/schemas/Statement'
                readOnly: true
              annual_income_summary:
                description: Annual income summary by years (only for income 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)
                type: array
                items:
                  $ref: '#/components/schemas/BankAccount'
                readOnly: true
              w2s:
                description: >-
                  List of W-2 forms linked to the employment (only for income
                  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
                nullable: true
                example: false
              job_title:
                description: Employee's job title
                type: string
                nullable: true
                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
                  - null
                nullable: true
              start_date:
                description: Employee's hire date
                type: string
                format: date
                example: '2018-01-01'
                nullable: true
              original_hire_date:
                description: Original hire date
                type: string
                nullable: true
                format: date
                example: '2017-06-21'
              end_date:
                description: Employee's end date
                type: string
                format: date
                nullable: true
              external_last_updated:
                description: >-
                  Indicates the date when employment data was last updated on
                  the Payroll Provider side
                type: string
                nullable: true
                format: date
              dates_from_statements:
                description: >-
                  Indicates whether or not the Employee's hire and/or end dates
                  were derived from first/last pay statements **(Deprecated)**
                type: boolean
                example: false
              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'
            required:
              - id
              - profile
              - company
    InsuranceResponse:
      required:
        - id
        - status
        - created_at
      type: object
      nullable: true
      properties:
        id:
          description: Unique ID
          type: string
          example: ad9f14440d624ec3b0f66e81e44518c7
        product_type:
          description: Type of the product.
          type: string
          enum:
            - insurance
          example: insurance
        status:
          description: Order status
          type: string
          enum:
            - pending
            - sent
            - completed
            - error
            - canceled
            - expired
            - no_data
            - skipped
          example: pending
        suborder_number:
          description: External ID
          type: string
          nullable: true
          example: '133982343355'
        created_at:
          description: Date and time when order was created
          type: string
          example: '2021-04-21T22:12:59.346109Z'
        bridge_token:
          description: UUID value of bridge token
          type: string
          example: e4100fccdae94691b4414c7306220c06
        link_id:
          description: Link ID for the connected account
          type: string
          nullable: true
          example: e4100fccdae94691b4414c7306220c06
        access_token:
          description: Access token to perform data refresh
          type: string
          nullable: true
          example: e4100fccdae94691b4414c7306220c06
        pdf_report:
          description: Verification report in PDF format
          type: string
          format: uri
          nullable: true
          example: https://cdn.truv.com/report.pdf
        data_source:
          description: >-
            Source of data: payroll - payroll provider parsing, docs - user
            uploaded documents, insurance - insurance data, financial_accounts -
            bank data, tax - tax documents, scoring_attributes - transactions
            scoring attributes report.
          type: string
          nullable: true
          enum:
            - insurance
            - docs
            - null
          example: insurance
        provider:
          description: Payroll or insurance provider
          required:
            - id
            - name
          type: object
          properties:
            id:
              description: Provider id
              type: string
              example: truv_api
            name:
              description: Provider name
              type: string
              example: Sandbox Provider
            logo_url:
              description: Provider logo url
              type: string
              nullable: true
              format: uri
              example: https://cdn.truv.com/providers/truv-blue.svg
          nullable: true
        is_suspicious:
          description: >-
            Flag to indicate if the data from the source is suspicious. E.g.
            fraud detected in uploaded documents or SSN of the user does not
            match with the data
          type: boolean
        provider_id:
          description: Pre-selected ID of a insurance provider
          type: string
          nullable: true
          example: geico
      description: Insurance verification meta data
    BankResponse:
      required:
        - id
        - status
        - created_at
      type: object
      properties:
        id:
          description: Unique ID
          type: string
          example: ad9f14440d624ec3b0f66e81e44518c7
        product_type:
          description: Type of the product.
          type: string
          enum:
            - transactions
            - assets
          example: transactions
        status:
          description: Order status
          type: string
          enum:
            - pending
            - sent
            - completed
            - error
            - canceled
            - expired
            - no_data
            - skipped
          example: pending
        suborder_number:
          description: External ID
          type: string
          nullable: true
          example: '133982343355'
        created_at:
          description: Date and time when order was created
          type: string
          example: '2021-04-21T22:12:59.346109Z'
        bridge_token:
          description: UUID value of bridge token
          type: string
          example: e4100fccdae94691b4414c7306220c06
        link_id:
          description: Link ID for the connected account
          type: string
          nullable: true
          example: e4100fccdae94691b4414c7306220c06
        access_token:
          description: Access token to perform data refresh
          type: string
          nullable: true
          example: e4100fccdae94691b4414c7306220c06
        pdf_report:
          description: Verification report in PDF format
          type: string
          format: uri
          nullable: true
          example: https://cdn.truv.com/report.pdf
        data_source:
          description: >-
            Source of data: payroll - payroll provider parsing, docs - user
            uploaded documents, insurance - insurance data, financial_accounts -
            bank data, tax - tax documents, scoring_attributes - transactions
            scoring attributes report.
          type: string
          enum:
            - financial_accounts
            - null
          nullable: true
          example: financial_accounts
        provider:
          description: Payroll or insurance provider
          required:
            - id
            - name
          type: object
          nullable: true
          properties:
            id:
              description: Provider id
              type: string
              nullable: true
              example: truv_api
            name:
              description: Provider name
              type: string
              example: Sandbox Provider
            logo_url:
              description: Provider logo url
              type: string
              nullable: true
              format: uri
              example: https://cdn.truv.com/providers/truv-blue.svg
        is_suspicious:
          description: >-
            Flag to indicate if the data from the source is suspicious. E.g.
            fraud detected in uploaded documents or SSN of the user does not
            match with the data
          type: boolean
        accounts:
          description: List of bank accounts
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/BankResponseAccount'
      description: Bank transactions meta data
    CreateVoaRequest:
      type: object
      properties:
        days_requested:
          description: >-
            The specific duration in days for which the report is requested to
            be generated.
          type: integer
          maximum: 730
          minimum: 30
        as_of_date:
          description: >-
            The end date for the report period. Start date will be calculated as
            as_of_date - days_requested. Defaults to current date if not
            provided.
          type: string
          format: date
          example: '2024-12-31'
        large_deposit_threshold:
          type: object
          properties:
            fixed_amount:
              description: >-
                Amount that must be met or exceeded for deposits to be marked as
                large, when OTHER loan type is specified.
              type: integer
              maximum: 100000
              minimum: 0
            sales_price:
              description: >-
                Amount that must be met or exceeded for deposits to be marked as
                large, when FHA loan type is specified.
              type: number
              maximum: 1000000
              minimum: 10
            qualifying_monthly_income:
              description: >-
                Amount that must be met or exceeded for deposits to be marked as
                large, when CONVENTIONAL loan type is specified.
              type: number
              maximum: 100000
              minimum: 10
            loan_type:
              description: Loan type.
              type: string
              example: FHA
              enum:
                - FHA
                - CONVENTIONAL
                - OTHER
        is_voe:
          description: >-
            A boolean parameter to request a deposit based Verification of
            Employment report.
          type: boolean
        request_extended_history:
          description: >-
            A boolean parameter to enable extended transaction/statement
            history. Need to be set for days_requested more than 60 days
          type: boolean
      description: Verification of Assets report parameters
    CreateIncomeInsightsRequest:
      required:
        - days_requested
      type: object
      properties:
        days_requested:
          description: >-
            The specific duration in days for which the report is requested to
            be generated.
          type: integer
          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
      description: Income Insights report parameters.
    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
    BankResponseAccount:
      type: object
      required:
        - id
      properties:
        id:
          description: Account ID
          type: string
          example: 24d7e80942ce4ad58a93f70ce4115f5c
        type:
          description: The account's type
          type: string
          example: CHECKING
          enum:
            - CHECKING
            - SAVINGS
            - LOAN
            - CREDIT_CARD
            - INVESTMENT
            - LINE_OF_CREDIT
            - MORTGAGE
            - PROPERTY
            - CASH
            - INSURANCE
            - PREPAID
            - CHECKING_LINE_OF_CREDIT
            - null
          nullable: true
        subtype:
          description: The account's subtype
          type: string
          example: MONEY_MARKET
          enum:
            - MONEY_MARKET
            - CERTIFICATE_OF_DEPOSIT
            - AUTO
            - STUDENT
            - SMALL_BUSINESS
            - PERSONAL
            - PERSONAL_WITH_COLLATERAL
            - HOME_EQUITY
            - BOAT
            - POWERSPORTS
            - RV
            - HELOC
            - PLAN_401_K
            - PLAN_403_B
            - PLAN_529
            - IRA
            - ROLLOVER_IRA
            - ROTH_IRA
            - TAXABLE
            - NON_TAXABLE
            - BROKERAGE
            - TRUST
            - UNIFORM_GIFTS_TO_MINORS_ACT
            - PLAN_457
            - PENSION
            - EMPLOYEE_STOCK_OWNERSHIP_PLAN
            - SIMPLIFIED_EMPLOYEE_PENSION
            - SIMPLE_IRA
            - PLAN_ROTH_401_K
            - FIXED_ANNUITY
            - VARIABLE_ANNUITY
            - HSA
            - TAX_FREE_SAVINGS_ACCOUNT
            - INDIVIDUAL
            - REGISTERED_RETIREMENT_INCOME_FUND
            - CASH_MANAGEMENT_ACCOUNT
            - EMPLOYEE_STOCK_PURCHASE_PLAN
            - REGISTERED_EDUCATION_SAVINGS_PLAN
            - PROFIT_SHARING_PLAN
            - UNIFORM_TRANSFER_TO_MINORS_ACT
            - PLAN_401_A
            - SARSEP_IRA
            - FIXED_ANNUITY_TRADITIONAL_IRA
            - VARIABLE_ANNUITY_TRADITIONAL_IRA
            - SEPP_IRA
            - INHERITED_TRADITIONAL_IRA
            - FIXED_ANNUITY_ROTH_IRA
            - VARIABLE_ANNUITY_ROTH_IRA
            - INHERITED_ROTH_IRA
            - COVERDELL
            - ADVISORY_ACCOUNT
            - BROKERAGE_MARGIN
            - CHARITABLE_GIFT_ACCOUNT
            - CHURCH_ACCOUNT
            - CONSERVATORSHIP
            - CUSTODIAL
            - DEFINED_BENEFIT_PLAN
            - DEFINED_CONTRIBUTION_PLAN
            - EDUCATIONAL
            - ESTATE
            - EXECUTOR
            - GROUP_RETIREMENT_SAVINGS_PLAN
            - GUARANTEED_INVESTMENT_CERTIFICATE
            - HRA
            - INDEXED_ANNUITY
            - INVESTMENT_CLUB
            - IRREVOCABLE_TRUST
            - JOINT_TENANTS_BY_ENTIRITY
            - JOINT_TENANTS_COMMUNITY_PROPERTY
            - JOINT_TENANTS_IN_COMMON
            - JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP
            - KEOUGH_PLAN
            - LIFE_INCOME_FUND
            - LIVING_TRUST
            - LOCKED_IN_RETIREMENT_ACCOUNT
            - LOCKED_IN_RETIREMENT_INVESTMENT_FUND
            - LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT
            - MONEY_PURCHASE_PLAN
            - PARTNERSHIP
            - PLAN_409_A
            - PLAN_ROTH_403_B
            - REGISTERED_DISABILITY_SAVINGS_PLAN
            - REGISTERED_LOCKED_IN_SAVINGS_PLAN
            - REGISTERED_PENSION_PLAN
            - REGISTERED_RETIREMENT_SAVINGS_PLAN
            - REVOCABLE_TRUST
            - ROTH_CONVERSION
            - SOLE_PROPRIETORSHIP
            - SPOUSAL_IRA
            - SPOUSAL_ROTH_IRA
            - TESTAMENTARY_TRUST
            - THRIFT_SAVINGS_PLAN
            - INHERITED_ANNUITY
            - CORPORATE_ACCOUNT
            - LIMITED_LIABILITY_ACCOUNT
            - VEHICLE_INSURANCE
            - DISABILITY
            - HEALTH
            - LONG_TERM_CARE
            - PROPERTY_AND_CASUALTY
            - UNIVERSAL_LIFE
            - TERM_LIFE
            - WHOLE_LIFE
            - ACCIDENTAL_DEATH_AND_DISMEMBERMENT
            - VARIABLE_UNIVERSAL_LIFE
            - ROTH
            - ROLLOVER
            - OTHER
            - ANNUITY
            - TRANSFERRABLE_ON_DEATH
            - null
          nullable: true
        mask:
          description: The last four digits of the account number.
          type: string
          readOnly: true
          example: '6789'
        balance:
          description: The current balance of the account.
          type: string
          format: decimal
          readOnly: true
          nullable: true
          example: '5000.00'
        owners:
          description: List of account owners.
          type: array
          readOnly: true
          items:
            type: object
            properties:
              full_name:
                description: Full name of the account owner.
                type: string
                readOnly: true
                example: John Doe
                maxLength: 255
  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

````