Integrate Pinwheel Verify to obtain FCRA-compliant income and employment verification from payroll platforms
domain: docs.pinwheelapi.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Obtain Pinwheel API credentials and upgrade the Pinwheel Link SDK to version 2.0 or later, and set your API version to v2025-07-08 or later to access Verification Reports
Generate a short-lived link_token from your backend by calling the Pinwheel link-token creation endpoint with your API_KEY and the desired products (e.g., income, employment)
Initialize the Pinwheel Link modal in your frontend using the link_token; the user authenticates with their payroll provider
Receive the platform.added webhook once the user's payroll account is connected, then call GET /accounts/{account_id}/employments and GET /accounts/{account_id}/earnings to fetch raw data
For a structured Verification Report, call the Verification Reports endpoint to receive a pre-built report containing identity, income, and employment in a single response
Handle webhooks for data refresh events to provide ongoing monitoring or re-verification at loan servicing intervals
Known gotchas
Pinwheel is a CRA — any use of its data for credit decisions requires FCRA permissible purpose and adverse action compliance; do not use payroll data for decisioning through a non-CRA channel
The Verification Reports feature requires Link SDK v2.0+ and API version v2025-07-08+; older SDK or API versions do not support this endpoint
Payroll authentication sessions can expire; implement re-authentication prompts gracefully in your UX rather than silently failing to refresh data
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?