GuidesAPI ReferenceChangelog
Log In

Getting Started

Welcome

Welcome to Pinwheel, the API for Payroll. Pinwheel makes it easy for your customers to grant you access to their payroll account via your application, unlocking a wealth of data and functionality. Once a user grants access, your application can update direct deposit allocations and access income and employment data from their payroll account. To request access to the Pinwheel API, please contact [email protected].

Implementation Overview

The Pinwheel API is easy to integrate and highly customizable. Implementing Pinwheel involves a simple client and server side integration, which are outlined in five key steps:

  1. Link token: Your application server sends a request to our REST API to generate a short-lived Link Token.
  2. Pinwheel Link: Using the Link Token, your application client initializes the client SDK to launch the Link modal. Your users interact with Link to submit their login credentials to authenticate with their payroll provider over a secure and encrypted connection.
  3. Account Creation: Once the user successfully authenticates via Pinwheel Link an Account is created representing the user's payroll account.
  4. Jobs: Our servers execute the requested jobs. We read and store data from the user's payroll account, and if requested, modify their direct deposit allocations.
  5. Webhooks: Webhooks are delivered to your server in real time, notifying your application whenever data is available or updated. Your server can then fetch data from our REST API.

Jobs

After a user authorizes access to their payroll account, several jobs can be executed. Direct Deposit jobs update direct deposit allocations in the payroll account. Income and Employment jobs provide access to payroll account data. You can specify the jobs to execute with the required_jobs parameter when creating a Link Token.

JobTypeDescription
direct_deposit_switchDirect DepositSwitches the payroll account direct deposit, in partial or full, to the specified bank account. This job can also be used to enable paycheck-linked lending when a specific amount is required.
direct_deposit_allocationsDirect DepositProvides data about existing allocations of a user's payroll account.
card_switchDirect DepositSwitches the payroll account card. Please reach out to [email protected] to get this job functionality enabled for your workspace.
payout_cardsDirect DepositProvides data about the existing cards associated with a user's payroll account. Please reach out to [email protected] to get this job functionality enabled for your workspace.
paystubsIncome and EmploymentProvides access to the user's paystubs as structured data.
employmentIncome and EmploymentProvides data about the user's employment, such as the name of their employer and their start date.
identityIncome and EmploymentProvides data about the identity of the payroll account owner, such as name and date of birth.
incomeIncome and EmploymentProvides income data such as annual salary or hourly wage.
shiftsIncome and EmploymentProvides access to ongoing and completed work performed by the user.
tax_formsIncome and EmploymentProvides access to tax forms.