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.
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.
Connect payroll accounts
- Reuse the applicant’s existing user ID, or create a user and store the returned ID with the applicant record in your system.
- Create a user token and launch Link so the applicant can find their employer or payroll provider.
- Let the applicant connect additional accounts when income from more than one job is needed.
- Store each connected account ID and track its status independently.
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.Match employments
A payroll account may contain paystubs from multiple jobs. To retrieve the paystubs for the job associated with the connected account:- Retrieve the account’s identity information to identify the job and read its
employmentID. - Use that ID as the
employmentfilter when listing paystubs. The returned paystubs will have the same employment ID as the identity.
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.- 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.
- Order a verification with the required report type, such as
voifor income orvoaifor assets and income. - Create a banking session and launch the returned link using the banking SDK. Hosted banking invitations must be enabled by Argyle before use.
- Wait for the
verifications.updatedwebhook. When the verification reachescompletedorcompleted_with_errors, retrieve its report PDF or JSON.
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
- Create a document-upload-only Flow in Console.
- Select the document categories and required quantities, then save the Flow.
- 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.
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
nullemployment 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.updatedwebhook withconfig.include_resource = trueand inspect the account’s connection status and errors. Offer another connection attempt when appropriate.