Paylocity is a market leader in providing cloud-based payroll and human capital management software. It provides intuitive and easy to use products that enable businesses to automate and streamline their HR and payroll processes, facilitate better hiring practices and build a culture of retention and engagement. To facilitate connections with different applications, Paylocity offers open, developer-friendly APIs. With automation at the core, Paylocity API ensures that updates, i.e. when payroll is processed or when there is any change in the employee base (hire, transfer, termination) webhooks are pushed to reflect the changes.
This article will help you understand how Paylocity API functions, how developers can authenticate and access the same. Furthermore, it will highlight the different endpoints, use cases and FAQs that are integral to a smooth integration journey. Finally, it will discuss the common integration use cases for Paylocity API, focusing on the category of applications that can seamlessly integrate with Paylocity for business impact.
Paylocity API Authentication, Filtering, Rate Limits
To ensure safe and limited access, Paylocity API leverages OAuth2 for authentication using Client Credentials. In this form of authentication, each API call to Paylocity API is accompanied by a HTTP Header named Authorization, along with a bearer token (with limited time validity), from the Paylocity Identity Provider. The token for authentication only has a life of 60 minutes and expires post that. Using an expired token will lead to a failed response. To receive the token, you must have client_id and secret.
API filtering is quite an important attribute when it comes to ensuring that only relevant data is exchanged and also increases the speed of exchange. Paylocity API filtering works on the principle of request-response communication. Whenever an API request is made to the server, the filter criteria must be specified. Subsequently, once the server processes this request, the filter is applied and only relevant data, which meets the criteria is sent back.
To prevent overuse or overconsumption of resources, Paylocity API has set rate limits, permitting up to 40,000 calls per hour. If more requests are made than the set limit, a 403 forbidden error message appears, indicating overuse. To prevent overuse of API calls and to stay within the rate limit, developers can optimize their code to minimize the API calls made per minute, by caching data, removing redundant requests and making API calls only when necessary. Implementing rate limiting logic, and retry mechanism can also help in error handling.
Paylocity API Objects, Data Models & Endpoints
To integrate with Paylocity API, it is important to have an understanding of the objects, data models and endpoints you will be working with. Here’s a quick starting point:
- Add / Update Deduction (sends new or updated employee deduction information directly to Paylocity Payroll/HR solution)
POST https://apisandbox.paylocity.com/api/v1/deduction
- Delete deduction for deduction code / start date
DELETE https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/deductions/{deductionCode}/{startDate}
- Get All Deductions (returns all deductions for the selected employee)
GET https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/deductions
- Get Deduction for Deduction Code (returns records for a specific deduction for the selected employee)
GET https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/deductions/{deductionCode}
- Add Employee to Onboarding (sends employee data into Paylocity Onboarding to help ensure an easy and accurate hiring process)
POST https://apisandbox.paylocity.com/api/v1/companies/{companyId}/onboarding/employees
- Get Local Tax for Tax Code (returns local tax information for the specific tax code for the selected employee)
GET https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}
- Update Local Tax (sends updated local tax code information for the selected employee)
PUT https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}
- Delete Local Tax for Tax Code (deletes the local tax code from Paylocity Payroll/HR solution)
DELETE https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes/{taxCode}
- Get All Local Taxes (returns all local tax information for the selected employee)
GET https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes
- Add Local Tax (sends new local tax information directly to Paylocity Payroll/HR solution)
POST https://apisandbox.paylocity.com/api/v1/companies/{companyId}/employees/{employeeId}/localTaxes
- Add/update additional rates (sends new or updated employee additional rates information directly to Paylocity Payroll/HR solution)
PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/additionalRates
- Get All Company Codes
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/codes/{codeResource}
- Get All Custom Fields
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/customfields/{category}
- Get All Direct Deposit (returns main direct deposit and all additional direct deposits for the selected employee)
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/directDeposit
- Get All Earnings (returns all earnings for the selected employee)
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings
- Add/Update Earning (sends new or updated employee earnings information directly to Paylocity Payroll/HR solution)
PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings
- Get Earning by Earning Code and Start Date (returns the single earning with the provided earning code and start date for the selected employee)
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}/{startDate}
- Delete Earning by Earning Code and Start Date
DELETE https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}/{startDate}
- Get Earnings by Earning Code (returns all earnings with the provided earning code for the selected employee)
GET
https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/earnings/{earningCode}
- Add/update emergency contacts (sends new or updated employee emergency contacts directly to Paylocity Payroll/HR solution)
PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/emergencyContacts
- Add/update employee's benefit setup (sends new or updated employee benefit setup information directly to Paylocity Payroll/HR solution)
PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/benefitSetup
- Get all employees (returns employee data currently available in Paylocity Payroll/HR solution)
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees
- Add new employee (sends new employee data directly to Paylocity Payroll/HR solution)
POST https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees
- Get employee (returns employee data currently available in Paylocity Payroll/HR solution)
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}
- Update employee (updates existing employee data in WebPay)
PATCH https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}
- Get sensitive data
GET https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/sensitivedata
- Add/update sensitive data (sends new or updated employee sensitive data information directly to Paylocity Payroll/HR solution)
PUT https://apisandbox.paylocity.com/api/v2/companies/{companyId}/employees/{employeeId}/sensitivedata
- Gets Retirement Contributions (provides deferrals, loan payments, employer match)
GET https://dc1demogwext.paylocity.com/apiHub/benefits/v1/companies/{companyId}/retirementPlans/{planId}/checks/{checkDate}
Paylocity API Use Cases
- Access real-time, visual representation of information through reports, analytics, and dashboards for tracking essential metrics, spotting trends, and making informed decisions based on data.
- Simplify the gathering of information, documents, and task management across various users and environments.
- Easily create tailored employee appreciation initiatives, oversee rewards and budgets, and monitor program performance instantly.
- Measure employee engagement levels to gain insight into potential time and cost efficiencies.
- Gather input from colleagues, supervisors, and team members for comprehensive 360-degree feedback. Utilize talent assessment frameworks like the 9-box grid.
- Delegate training tasks using an extensive course library, upload custom materials, or empower employee experts to develop and distribute training through our online collaboration platform, Community.
- Reduce manual input by automatically incorporating reimbursements into employee paychecks.
- Access consolidated global payroll data in real-time for over 100 countries through our integrated payroll system.
Top customers
36,000+ customers use Paylocity for the HR and payroll needs, including:
- Meyer Distributing, a leader in automotive specialty products marketing and distribution
- Noble House, a curated collection of award-winning boutique hotels, luxury resorts
- Crafton Tull, an engineering, design, and surveying firm
- HP Piping Solutions, manufacturers and suppliers of high-pressure mud piping, mud gas separators and other drilling-related products
- BASIS.ed, a for-profit education management organization based in Scottsdale, Arizona
- Momentus Technologies, a global provider of industry leading venue and event management solutions
Paylocity API FAQs
A quick glance on the common FAQs that developers have about Paylocity API can help you accelerate your integration journey:
- How to get the REST API cURL Token for Paylocity? Answer
- How to retrieve an employee's PTO from Paylocity API? Answer
- How to get the Paylocity API Access Token? Answer
- How to get the access token for Paylocity Web API in Node.js without getting an error "invalid_client"? Answer
- How to use Paylocity API to get employee department? Answer
- How to address the issue of pulling data from Paylocity API? Answer
- How to get employee custom fields from Paylocity API? Answer
- How to extract data from Paylocity API using cloud data fusion? Answer
- How to get Paylocity API Access using Python? Answer
- What are the requirements to get production credentials and launch Paylocity API integration? Answer
- What authentication method do you use to access Paylocity APIs? Answer
- How do I find Paylocity APIs that fit my use case? Answer
- Is there a cost for using Paylocity’s APIs? Answer
Common Integrations with Paylocity API
Here’s a non-exhaustive list of applications (categories), which can easily integrate with Paylocity API to facilitate easy exchange of employee relevant information and further their impact, without the need to duplicate information upload:
- Benefits administration systems to ensure correct allocation and deduction in employee payrolls
- Application tracking systems for seamless onboarding, payroll setup, etc.
- Payroll and accounting systems to facilitate compensation management
- Active employee directories, ensuring all employee data is updated for consumption
- Workforce planning tools to set hiring and retention strategy
How to integrate with Paylocity API
Paylocity offers several APIs for different use cases. Therefore, as the first step, you need to understand your integration needs and then identify the right API and endpoints to connect with. The next step is to get the access token to access the sandbox or the demo environment (oAuth credentials). Once you get the access, leverage guides like this one to build, test and go-live with your Paylocity API integration.
Get started with Paylocity API
As visible from the section above, integration with Paylocity API involves several steps and knowledge transfer across several documentation guides. Fortunately, unified API providers like Knit, make it very easy for developers to integrate with Paylocity and multiple other HRIS applications in a very short time. Adding an additional abstraction layer to the API infrastructure, Knit’s unified HRIS API ensures that customers only have to integrate once and they can then connect with all other HRIS applications from there. To understand more about how a unified HRIS API can help you significantly optimize your integration building and management process, book a discovery call today.