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. Document uploads can be an initial option as well as a fallback when an applicant cannot connect an account.

Payroll

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 full synchronization and set a timeout for requests that do not return the data you need. 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

An account can contain paystubs from more than one job. Use the employment field to match identities, paystubs, and payroll documents before applying an identity’s employment status or pay details to those records. Retrieve all records and match them afterward when you need to retain unmatched paystubs. Use the employment filter when you only need records for one employment. See Employments for both approaches.

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

Document uploads can be an initial option or a fallback when an applicant cannot connect a payroll account.
  • Document uploads only: Create a document-upload-only Flow. Select the document categories and required quantities in Console, save the Flow, and use its Flow ID when launching Link for the existing user.
  • Document uploads as a fallback: In a payroll Flow, enable document uploads under Search and connect → Fallback experiences for applicants who cannot find their employer or payroll provider, or who provide incorrect credentials. See User uploads within Link for the setup instructions.
If your application handles the fallback itself, the onCantFindItemClicked callback can launch a separate document-upload-only Flow. 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 or a document upload 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.