---
title: "(Deprecated) Check digital income verification eligibility and optimize conversion"
method: POST
path: "/income/verification/precheck"
tags: ["plaid"]
deprecated: true
---

# (Deprecated) Check digital income verification eligibility and optimize conversion

`POST /income/verification/precheck`

> **Deprecated.**

`/income/verification/precheck` is an optional endpoint that can be called before initializing a Link session for income verification. It evaluates whether a given user is supportable by digital income verification and returns a `precheck_id` that can be provided to `/link/token/create`. If the user is eligible for digital verification, providing the `precheck_id` in this way will generate a Link UI optimized for the end user and their specific employer. If the user cannot be confirmed as eligible, the `precheck_id` can still be provided to `/link/token/create` and the user can still use the income verification flow, but they may be required to manually upload a paystub to verify their income.

While all request fields are optional, providing either `employer` or `transactions_access_tokens` data will increase the chance of receiving a useful result.

This endpoint has been deprecated; new integrations should use `/credit/payroll_income/precheck` instead.

## Request body

- IncomeVerificationPrecheckRequest — IncomeVerificationPrecheckRequest defines the request schema for `/income/verification/precheck`
  - `client_id` string — Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.
  - `secret` string — Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.
  - `user` IncomeVerificationPrecheckUser, nullable — Information about the user whose eligibility is being evaluated.
    - `first_name` string, nullable — The user's first name
    - `last_name` string, nullable — The user's last name
    - `email_address` string, nullable — The user's email address
    - `home_address` SignalAddressData, nullable — Data about the components comprising an address.
      - `city` string — The full city name
      - `region` string, nullable — The region or state Example: `"NC"`
      - `street` string — The full street address Example: `"564 Main Street, APT 15"`
      - `postal_code` string, nullable — The postal code
      - `country` string, nullable — The ISO 3166-1 alpha-2 country code
  - `employer` IncomeVerificationPrecheckEmployer, nullable — Information about the end user's employer
    - `name` string, nullable — The employer's name
    - `address` IncomeVerificationPrecheckEmployerAddress, nullable — Data about the components comprising an address.
      - `city` string — The full city name
      - `country` string — The ISO 3166-1 alpha-2 country code
      - `postal_code` string — The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.
      - `region` string — The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `"NC"`
      - `street` string — The full street address Example: `"564 Main Street, APT 15"`
    - `tax_id` string, nullable — The employer's tax id
    - `url` string, url, nullable — The URL for the employer's public website
  - `payroll_institution` IncomeVerificationPrecheckPayrollInstitution, nullable — Information about the end user's payroll institution
    - `name` string, nullable — The name of payroll institution
  - `transactions_access_token` string, nullable — The access token associated with the Item for which data is being requested.
  - `transactions_access_tokens` AccessToken[] — An array of access tokens corresponding to Items belonging to the user whose eligibility is being checked. Note that if the Items specified here are not already initialized with `transactions`, providing them in this field will cause these Items to be initialized with (and billed for) the Transactions product.
  - `us_military_info` IncomeVerificationPrecheckMilitaryInfo, nullable — Data about military info in the income verification precheck.
    - `is_active_duty` boolean, nullable — Is the user currently active duty in the US military
    - `branch` string, nullable — If the user is currently serving in the US military, the branch of the military in which they are serving Valid values: 'AIR FORCE', 'ARMY', 'COAST GUARD', 'MARINES', 'NAVY', 'UNKNOWN'

## Response `200`

OK

- IncomeVerificationPrecheckResponse — IncomeVerificationPrecheckResponse defines the response schema for `/income/verification/precheck`.
  - `precheck_id` string, required — ID of the precheck. Provide this value when calling `/link/token/create` in order to optimize Link conversion.
  - `request_id` string, required — A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
  - `confidence` 'HIGH' | 'LOW' | 'UNKNOWN', required — The confidence that Plaid can support the user in the digital income verification flow instead of requiring a manual paystub upload. One of the following: `"HIGH"`: It is very likely that this user can use the digital income verification flow. "`LOW`": It is unlikely that this user can use the digital income verification flow. `"UNKNOWN"`: It was not possible to determine if the user is supportable with the information passed.

## Other responses

- `default` — Error response

---

[API](https://skmtc.net/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.net/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/versions/64c4514ea59b/schema)
