Skip to main content
Applicants can share payroll data, connect bank accounts, or upload documents for tenant screening. Choose the products that provide the information your screening process requires.

Choose products

Payroll

Retrieve identities, paystubs, and source documents from accounts applicants connect.

Banking

Use Banking Verifications for income and asset reports.

Document uploads

Receive uploaded files and retrieve OCR and authenticity results when enabled.
You can offer these products individually or together.

Payroll

For tenant screening, we recommend retrieving payroll data directly through Argyle’s Data APIs rather than ordering payroll verifications that only provide yearly income amounts.
Use the Data APIs when your screening process needs employer, employment status, pay, or income history fields from Identities and Paystubs. Add Payroll Documents when you also need source files. Before implementing, determine which fields and how much paystub history you need, whether source documents are required, and what to offer when the required data is unavailable.

Connect payroll accounts

  1. Reuse the applicant’s existing user ID, or create a user and store the returned ID with the applicant record in your system.
  2. Create a user token and launch Link so the applicant can find their employer or payroll provider.
  3. Let the applicant connect additional accounts when income from more than one job is needed.
  4. Store each connected account ID and track its status independently.
Use Link callbacks to update the applicant experience. For example, the onAccountConnected callback can advance the applicant to the next screen after a successful connection. Use webhooks to determine when payroll data is ready.

Retrieve payroll data

Subscribe to the webhooks that match the data you need:
Do not wait only for the paystubs.partially_synced webhook. Also handle users.fully_synced and set a timeout so applicants are not left waiting if data is unavailable, an account connection error occurs, or an expected webhook is not received. Contact your Argyle Customer Success Manager for a recommended timeout window. See Retrieving paystubs for the complete flow.
Follow pagination and retain resource IDs so later updates modify the corresponding records in your system. A completed sync means all available records were retrieved; check that those records meet your screening requirements.

Match employments

A payroll account may contain paystubs from multiple jobs. To retrieve the paystubs for the job associated with the connected account:
  1. Retrieve the account’s identity information to identify the job and read its employment ID.
  2. Use that ID as the employment filter when listing paystubs. The returned paystubs will have the same employment ID as the identity.
Paystubs with employment: null are excluded by this filter. See Employments for more on filtering and handling unmatched paystubs.

Banking

Use Banking Verifications when applicants will share banking information for an income or asset report.
  1. If the applicant already has a user from payroll or document collection, reuse that user ID. Otherwise, create a user. Update any missing required banking details before ordering the verification.
  2. Order a verification with the required report type, such as voi for income or voai for assets and income.
  3. Create a banking session and launch the returned link using the banking SDK. Hosted banking invitations must be enabled by Argyle before use.
  4. Wait for the verifications.updated webhook. When the verification reaches completed or completed_with_errors, retrieve its report PDF or JSON.
Banking uses verification status for report readiness. Payroll synchronization events do not indicate that a banking report is ready.

Document uploads

You can also offer a dedicated document upload entry point in your application. Applicants upload files through Link, the same experience used to connect payroll accounts, with a separate Flow configured for document uploads only.

Document uploads only

  1. Create a document-upload-only Flow in Console.
  2. Select the document categories and required quantities, then save the Flow.
  3. Create a user token for the applicant and launch Link with that token and Flow ID from your application’s document upload entry point. Applicants go directly to document uploads without connecting a payroll account.
If you already collect files outside Link, upload them through the API. Retrieve uploaded files through User Uploads. When OCR is enabled, listen for OCR completion and failure webhooks, then retrieve the results from metadata.ocr_documents[]. Authenticity results have their own webhook. See OCR and Authenticity for supported documents, fields, and processing errors.
Doc VOI is designed for mortgage income calculations. For tenant-screening document collection, OCR, and authenticity, use Document Uploads and the User Uploads API.

Common issues

  • Unmatched paystubs: A null employment does not mean the paystub is unusable. Keep it available for separate processing, without applying another employment’s status to it.
  • Missing partial-sync event: The event may not be sent when no relevant paystubs are available or retrieval completes in one pull. Handle full synchronization and your application’s timeout.
  • Connection errors: Subscribe to the accounts.updated webhook with config.include_resource = true and inspect the account’s connection status and errors. Offer another connection attempt when appropriate.
When an applicant returns, reuse their existing user ID. Follow Reconnect an Account when credentials or MFA are required, or let them return to the document Flow to provide additional files.