---
title: "Check income verification eligibility and optimize conversion"
method: POST
path: "/credit/payroll_income/precheck"
tags: ["plaid"]
deprecated: true
---

# Check income verification eligibility and optimize conversion

`POST /credit/payroll_income/precheck`

> **Deprecated.**

`/credit/payroll_income/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. If the user is eligible for digital verification, that information will be associated with the user token, and 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 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 `employer` data will increase the chance of receiving a useful result.

When testing in Sandbox, you can control the results by providing special test values in the `employer` and `access_tokens` fields. `employer_good` and `employer_bad` will result in `HIGH` and `LOW` confidence values, respectively. `employer_multi` will result in a `HIGH` confidence with multiple payroll options. Likewise, `access_good` and `access_bad` will result in `HIGH` and `LOW` confidence values, respectively. Any other value for `employer` and `access_tokens` in Sandbox will result in `UNKNOWN` confidence.

## Request body

- CreditPayrollIncomePrecheckRequest — Defines the request schema for `/credit/payroll_income/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_token` string — The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).
  - `user_id` string — A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).
  - `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.
  - `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
  - `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'
  - `payroll_institution` IncomeVerificationPrecheckPayrollInstitution, nullable — Information about the end user's payroll institution
    - `name` string, nullable — The name of payroll institution

## Response `200`

OK

- CreditPayrollIncomePrecheckResponse — Defines the response schema for `/credit/payroll_income/precheck`.
  - `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/revisions/64c4514ea59b/schema)
