Knit is #1 product of the week in the developer tools category on Product Hunt!
X
Coming Soon

Hubspot

Knit helps you connect with 30+ ATS, HRIS, Accounting and CRM integrations 10X faster, using just one API

Read-Write support

Read anything, write anything with our two-way data sync option

One data model

Work with a common data model, normalized for each category of software

Custom fields

Map all data not included in our standard data model directly from the dashboard

Powering integrations for global SaaS organizations like you

Capabilities & Data Models

Accounts

The Account object refers to an individual account which is a person or a company. A Person Account will have an account as well as a Contact associated with it

Docs
Contacts

The Contact object represents a person associated with an Account in a CRM system

Docs
Leads

The Lead object is used to represent a potential customer

Docs
Deals

The Deal object refers to a sales opportunity or a deal within the CRM system

Docs
Deal Stages

The Stage object represents the current stage of a sales opportunity or a deal

Docs
Engagement

Engagement object refers to the engagement or interaction details captured in the CRM system

Docs

Why you'll love using Knit

Focus on your core product

With Knit taking care of all your integration needs, you are free to spend 100% of your tech bandwidth to build and upgrade your own product

Build once, scale perpetually

You need to integrate only once. Whenever a new integration is added to the category, you get immediate access and sync capability without writing a single line of code

Close more deals

Never lose another deal over security concerns. Safe designs, security certifications, safety standards and data protocols make Knit an immediate customer's favorite

Multiple integrations. Minimal effort. One API

Connect with multiple ATS, HRIS, Accounting, CRM and Chat tools using only the Knit API

Get started
Book Demo!

What Others Say About Knit

John Carter - Softech X Webflow Template

“A truly great analytics app”

Quis a felis elementum sed ornare eu massa eu enim quam vulputate risus dolor euismod risus pretium duis sed ac vestibulum nulla placerat plate.

John Carter
Growth Hacker at Facebook
Andy Smith - Softech X Webflow Template

“A game changer for us”

Quis a felis elementum sed ornare eu massa eu enim quam vulputate risus dolor euismod risus pretium duis sed ac vestibulum nulla placerat plate.

Andy Smith
Marketer at Google
Sophie Moore - Softech X Webflow Template

“An amazing analytics tool”

Quis a felis elementum sed ornare eu massa eu enim quam vulputate risus dolor euismod risus pretium duis sed ac vestibulum nulla placerat plate.

Sophie Moore
Marketer at LinkedIn
John Carter - Softech X Webflow Template

“A truly great analytics app”

Quis a felis elementum sed ornare eu massa eu enim quam vulputate risus dolor euismod risus pretium duis sed ac vestibulum nulla placerat plate.

John Carter
Growth Hacker at Facebook
Andy Smith - Softech X Webflow Template

“A game changer for us”

Quis a felis elementum sed ornare eu massa eu enim quam vulputate risus dolor euismod risus pretium duis sed ac vestibulum nulla placerat plate.

Andy Smith
Marketer at Google
Sophie Moore - Softech X Webflow Template

“An amazing analytics tool”

Quis a felis elementum sed ornare eu massa eu enim quam vulputate risus dolor euismod risus pretium duis sed ac vestibulum nulla placerat plate.

Sophie Moore
Marketer at LinkedIn
John Carter - Softech X Webflow Template

“A truly great analytics app”

Quis a felis elementum sed ornare eu massa eu enim quam vulputate risus dolor euismod risus pretium duis sed ac vestibulum nulla placerat plate.

John Carter
Growth Hacker at Facebook
Andy Smith - Softech X Webflow Template

“A game changer for us”

Quis a felis elementum sed ornare eu massa eu enim quam vulputate risus dolor euismod risus pretium duis sed ac vestibulum nulla placerat plate.

Andy Smith
Marketer at Google
Sophie Moore - Softech X Webflow Template

“An amazing analytics tool”

Quis a felis elementum sed ornare eu massa eu enim quam vulputate risus dolor euismod risus pretium duis sed ac vestibulum nulla placerat plate.

Sophie Moore
Marketer at LinkedIn

Read Articles

API Directory
Mar 21, 2024

Comprehensive Guide to Keka API Directory

11
mins

Keka is a leading human resources management system that enables organizations to seamlessly manage diverse aspects of their human resource processes, including recruitment and onboarding, attendance and time management, payroll, expense and performance management. With OAuth authentication, rate limiting, pagination, and adherence to industry standards, Keka provides developers with everything they need to build robust integrations with their software/ platform and facilitate data exchange between their application and this leading HRMS portal. 

Keka API Authentication, Pagination, Rate Limit

To ensure safe and secure access, Keka API uses OAuth for authentication. This suggests that for successful integration, developers need an access token which can be generated with specific details. This includes client id (identifier for the client), client secret (for secure authentication), api key (unique API key for accessing the system), scope (requires passing kekaapi for this key). To facilitate integration testing for applications, developers can also leverage the Sandbox Environment which is offered by Keka. This allows developers to ensure robust functionality, before integration production begins. Keka APIs already come with pagination implemented to ensure response time optimization. The standard or the default page size in Keka is 100 with 1 being the default page number. 

API limit is a critical element of any API and so is the case with Keka, which helps define the number of requests that can be made to Keka within a limited time period. Keka has a rate limit of 50 API requests/ minute. This suggests that once 50 requests are made in a minute, the user needs to wait for the quote to be refilled before any other request is made. The rate limits are enforced and automatically reset after 60 seconds. In case a request is made before the quota is refilled, a 429 error with the reason rateLimitExceeded will be sent. 

Keka API Objects, Data Models & Endpoints

As a developer or the representative of an organization seeking to integrate with Keka API, it is important to understand the endpoints that you will be using eventually for data exchange, both when it comes to read APIs (getting data from Keka) as well as write APIs (providing data to Keka). 

CORE HR

Employees

  • Get all Employees

GET https://{company}.{environment}.com/api/v1/hris/employees

  • Create an Employee

POST https://{company}.{environment}.com/api/v1/hris/employees

  • Get an Employee

GET https://{company}.{environment}.com/api/v1/hris/employees/{id}

  • Get all update fields

GET https://{company}.{environment}.com/api/v1/hris/employees/updatefields

  • Update Employee personal details

PUT https://{company}.{environment}.com/api/v1/hris/employees/{id}/personaldetails

  • Update employee job details

PUT https://{company}.{environment}.com/api/v1/hris/employees/{id}/jobdetails

Groups

  • Get all Groups

GET https://{company}.{environment}.com/api/v1/hris/groups

  • Get all Group Types

GET https://{company}.{environment}.com/api/v1/hris/grouptypes

Departments

  • Get all departments

GET https://{company}.{environment}.com/api/v1/hris/departments

Locations

  • Get all Locations

GET https://{company}.{environment}.com/api/v1/hris/locations

Job Title

  • Get all job titles

GET https://{company}.{environment}.com/api/v1/hris/jobtitles

Currency

  • Get all currencies

GET https://{company}.{environment}.com/api/v1/hris/currencies

Notice Period

  • Get all notice periods

GET https://{company}.{environment}.com/api/v1/hris/noticeperiods

LEAVE

Leave Types

  • Get all Leave Types

GET https://{company}.{environment}.com/api/v1/time/leavetypes

Leave Balance

  • Get all Leave balances

GET https://{company}.{environment}.com/api/v1/time/leavebalance

Leave Requests

  • Get all Leave Requests

GET https://{company}.{environment}.com/api/v1/time/leaverequests

  • Create an Leave Request

POST https://{company}.{environment}.com/api/v1/time/leaverequests

ATTENDANCE

Attendance

  • Get all Attendance Records

GET https://{company}.{environment}.com/api/v1/time/attendance

Attendance Capture Scheme

  • Get all captureschemes

GET https://{company}.{environment}.com/api/v1/time/capturescheme

Holiday Calendar

  • Get all holidays Calendar

GET https://{company}.{environment}.com/api/v1/time/holidayscalendar

PAYROLL

Salary Components

  • Get all Salary Components

GET https://{company}.{environment}.com/api/v1/payroll/salarycomponents

Pay Groups

  • Get all Pay Groups

GET https://{company}.{environment}.com/api/v1/payroll/paygroups

Pay Cycles

  • Get all Pay Cycles

GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles

  • Get Pay Register

GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/payregister

  • Get all Pay Batches

GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches

  • Get all Batch Payments

GET https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments

  • Update the Payments status

PUT https://{company}.{environment}.com/api/v1/payroll/paygroups/{payGroupId}/paycycles/{payCycleId}/paybatches/{payBatchId}/payments

Pay Grades

  • Get all Pay Grades

GET https://{company}.{environment}.com/api/v1/payroll/paygrades

Pay Bands

  • Get all Pay Bands

GET https://{company}.{environment}.com/api/v1/payroll/paybands

PSA

Clients

  • Get all clients

GET https://{company}.{environment}.com/api/v1/psa/clients

  • Create a Client

POST https://{company}.{environment}.com/api/v1/psa/clients

  • Get a client

GET https://{company}.{environment}.com/api/v1/psa/clients/{id}

  • Update a Client

PUT https://{company}.{environment}.com/api/v1/psa/clients/{id}

Project Phases

  • Get project phases.

GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/phases

  • Create a Project Phase

POST https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/phases

Projects

  • Get all projects.

GET https://{company}.{environment}.com/api/v1/psa/projects

  • Create a Project

POST https://{company}.{environment}.com/api/v1/psa/projects

  • Get a project

GET https://{company}.{environment}.com/api/v1/psa/projects/{id}

  • Update a Project

PUT https://{company}.{environment}.com/api/v1/psa/projects/{id}

  • Get a project allocations

GET https://{company}.{environment}.com/api/v1/psa/projects/{id}/allocations

  • Get project timesheet entries.

GET https://{company}.{environment}.com/api/v1/psa/projects/{id}/timeentries

Tasks

  • Get project tasks.

GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks

  • Create a task

POST https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks

  • Update a task

PUT https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks/{taskId}

  • Get project task time entries.

GET https://{company}.{environment}.com/api/v1/psa/projects/{projectId}/tasks/{taskId}/timeentries

PMS

Time Frames

  • Get time frame list.

GET https://{company}.{environment}.com/api/v1/pms/timeframes

Goal

  • Get goal list.

GET https://{company}.{environment}.com/api/v1/pms/goals

  • Update goal progress

PUT https://{company}.{environment}.com/api/v1/pms/goals/{goalId}/progress

Badge

  • Get badge list.

GET https://{company}.{environment}.com/api/v1/pms/badges

Praise

  • Add Praise

POST https://{company}.{environment}.com/api/v1/pms/praise

EXPENSE

Expense Category

  • Get all Expense Categories

GET https://{company}.{environment}.com/api/v1/expense/categories

Expense

  • Get all Expense Claims

GET https://{company}.{environment}.com/api/v1/expense/claims

Expense Policy

  • Get all expense policies

GET https://{company}.{environment}.com/api/v1/expensepolicies

ASSETS

Asset

  • Get all Assets

GET https://{company}.{environment}.com/api/v1/assets

Asset Type

  • Get all Asset Types

GET https://{company}.{environment}.com/api/v1/assets/types

Asset Category

  • Get all Asset Categories

GET https://{company}.{environment}.com/api/v1/assets/categories

Asset Condition

  • Get all Asset Conditions

GET https://{company}.{environment}.com/api/v1/assets/conditions

Keka API Use Cases

  • Easy payroll processing and integration with attendance and leave to ensure proper calculation of payroll and taxes
  • Covers every HR workflow to manage people processes, including hiring, onboarding, probation confirmation, internal movements, etc.
  • Streamline all HR operations with automated workflows, comprehensive analytics, and hassle-free employee management
  • Conduct a multi-dimensional assessment of employees' abilities, behavioral competencies, and performance for constructive team evaluation
  • Get an accurate view of revenue against each project, resources allocation, and amount of time spent
  • Robust attendance management system that integrates every aspect of time tracking, including scheduling shifts, and tracking over-time, fully integrated with payroll

Top Customers

Keka, as an HRMS tool, is widely used with 5000+ customers, including:

  • Noise, India's trusted wearable watch brand
  • GrabOn, one of India’s top players in the coupons and deals industry
  • ICM, a UK-based global multi-regulated financial service provider
  • Easypolicy, a leading insurance aggregator
  • Traveazy, a Dubai-based travel-tech company focused on simplifying pilgrimage travel
  • Unbox Robotics, a leading supply chain robotics technology company specializing 
  • HackerEarth, a comprehensive developer assessment software that helps companies accurately measure developers' skills while recruiting
  • Metrochem API, a manufacturer of Active Pharmaceutical Ingredients (APIs), Pellets, and Intermediates in Multi Therapeutic segments

Keka API FAQs

Here’s a list of quick FAQs which will help answer any thoughts that you might have during your journey of integrating your application with Keka API

  • How can an admin create an API access key on Keka? Answer
  • How to integrate the Mettl assessment app with Keka Hire? Answer
  • How to integrate Naukri with Keka Hire? Answer
  • How to integrate Keka Hire with HackerEarth for Sending Assessments? Answer
  • How to integrate Keka Hire with LinkedIn? Answer 
  • How to integrate MS Teams account with Keka Hire? Answer
  • How to integrate SpringVerify with Keka? Answer

How to integrate with Keka API 

If you are just getting started, it might be a good idea to go through this documentation to understand how you can initiate the integration process. The detailed documentation contains everything you need to know about the overview, endpoints and much more. Leverage this to learn about the different data models scope and other details which will come in handy to get started. At the same time, this link will help you generate the access token for seamless authentication. 

Get started with Keka API 

While the guide shared above will serve as a comprehensive starting point for you to integrate your application with Keka API, it is important to understand that the entire process can be engineering heavy, time consuming and resource intensive. Put simply, it’s not just about building an integration, but also about managing and maintaining it over time. At the same time, if you want to connect with other HRMS APIs, the process becomes multifold. In such a situation, leveraging a unified HRMS API like Knit can come in handy. Knit enables SaaS businesses to easily connect with multiple HRMS applications by integrating once with its unified API, eliminating the need to connect with each application separately.

Book a demo call today to learn how you can accelerate your integration journey with Keka and other HRMS applications using Knit. 

API Directory
Mar 21, 2024

Paylocity API Directory

11
mins

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

API Directory
Mar 21, 2024

Gusto API Directory

11
mins

Gusto is an online payroll and HR solutions company. Backed by global expertise Gusto provides companies with one easy, integrated platform, to automate and simplify payroll, benefits, and HR processes. From time tracking, to performance management, analytics and even benefits administration, Gusto application enables businesses to make HR management seamless and streamlined, while saving hours and reducing human errors considerably. 

Gusto API Authentication, Pagination, Rate Limits

As a security first application, Gusto leverages OAuth2 for authentication. Gusto API integration uses two types of tokens for security and authentication. On the one side are organization level API tokens which can be accessed through the Developer Portal. Additionally, there are company level tokens (generally access tokens or refresh tokens), which are provided via the OAuth2 process. It is very important for developers building integrations with Gusto API to manage, store and maintain all tokens securely to prevent unauthorized authentication and access. 

Essentially, API tokens are used specifically for organization level endpoints, like creating a company, and cannot be used for company or employee level endpoints. For the latter, developers must focus on access tokens via OAuth2. To facilitate higher levels of security, Gusto API ensures that all endpoints which are authenticated via access tokens require a strict access token, which is reserved for access only to a single company. 

Gusto API endpoints support pagination. To use pagination, developers can add a page and a per parameter to their URL’s query string. The page can define the page number from where records are sought, and the per parameter dictates the number of records per page. In case the per parameter is left blank, by default 25 records will be returned. Each endpoint’s documentation reflects on whether or not it supports pagination. 

To ensure high performance throughput, Gusto API maintains an API rate limit of 200 requests per minute. This suggests that 200 API calls can be made within the 60 second time window, beyond which a violation will be evaluated. A 429 error, highlighting too many requests will be displayed if the rate limit is hit for an active integration and the request will be subsequently rejected. 

Gusto API Objects, Data Models & Endpoints

An understanding of the Gusto API objects, data models and endpoints is extremely important for developers seeking to build integrations with Gusto API. Some of the key endpoints include:

Companies

  • Create a company

POST https://api.gusto-demo.com/v1/provision

  • Get a company

GET https://api.gusto-demo.com/v1/companies/{company_id}

  • Get the custom fields of a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/custom_fields

Locations

  • Create a company location

POST https://api.gusto-demo.com/v1/companies/{company_id}/locations

  • Get company locations

GET https://api.gusto-demo.com/v1/companies/{company_id}/locations

  • Get a location

GET https://api.gusto-demo.com/v1/locations/{location_id}

  • Update a location

PUT https://api.gusto-demo.com/v1/locations/{location_id}

  • Get minimum wages for a location

GET https://api.gusto-demo.com/v1/locations/{location_uuid}/minimum_wages

Pay Schedules

  • Get the pay schedules for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/pay_schedules

  • Get a pay schedule

GET https://api.gusto-demo.com/v1/companies/{company_id}/pay_schedules/{pay_schedule_id}

  • Get pay periods for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/pay_periods

  • Get pay schedule assignments for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/pay_schedules/assignments

Departments

  • Create a department

POST https://api.gusto-demo.com/v1/companies/{company_uuid}/departments

  • Get all departments of a company

GET https://api.gusto-demo.com/v1/companies/{company_uuid}/departments

  • Get a department

GET https://api.gusto-demo.com/v1/departments/{department_uuid}

  • Update a department

PUT https://api.gusto-demo.com/v1/departments/{department_uuid}

  • Delete a department

DELETE https://api.gusto-demo.com/v1/departments/{department_uuid}

  • Add people to a department

PUT https://api.gusto-demo.com/v1/departments/{department_uuid}/add

  • Remove people from a department

PUT https://api.gusto-demo.com/v1/departments/{department_uuid}/remove

Earning Types

  • Create a custom earning type

POST https://api.gusto-demo.com/v1/companies/{company_id}/earning_types

  • Get all earning types for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/earning_types

  • Update an earning type

PUT https://api.gusto-demo.com/v1/companies/{company_id}/earning_types/{earning_type_uuid}

  • Deactivate an earning type

DELETE https://api.gusto-demo.com/v1/companies/{company_id}/earning_types/{earning_type_uuid}

Payrolls

  • Get all payrolls for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/payrolls

  • Get a single payroll

GET https://api.gusto-demo.com/v1/companies/{company_id}/payrolls/{payroll_id}

  • Update a payroll by ID

PUT https://api.gusto-demo.com/v1/companies/{company_id}/payrolls/{payroll_id}

  • Prepare a payroll for update

PUT https://api.gusto-demo.com/v1/companies/{company_id}/payrolls/{payroll_id}/prepare

Contractor Payments

  • Get contractor payments for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/contractor_payments

  • Get a single contractor payment

GET https://api.gusto-demo.com/v1/companies/{company_id}/contractor_payments/{contractor_payment_id}

Company Benefits

  • Create a company benefit

POST https://api.gusto-demo.com/v1/companies/{company_id}/company_benefits

  • Get benefits for a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/company_benefits

  • Get a company benefit

GET https://api.gusto-demo.com/v1/company_benefits/{company_benefit_id}

  • Update a company benefit

PUT https://api.gusto-demo.com/v1/company_benefits/{company_benefit_id}

  • Delete a company benefit

DELETE https://api.gusto-demo.com/v1/company_benefits/{company_benefit_id}

  • Get all benefits supported by Gusto

GET https://api.gusto-demo.com/v1/benefits

  • Get a supported benefit by ID

GET https://api.gusto-demo.com/v1/benefits/{benefit_id}

  • Get company benefit summary by company benefit id.

GET https://api.gusto-demo.com/v1/company_benefits/{company_benefit_id}/summary

  • Get benefit fields requirements by ID

GET https://api.gusto-demo.com/v1/benefits/{benefit_id}/requirements

Employees

  • Create an employee

POST https://api.gusto-demo.com/v1/companies/{company_id}/employees

  • Get employees of a company

GET https://api.gusto-demo.com/v1/companies/{company_id}/employees

  • Get an employee

GET https://api.gusto-demo.com/v1/employees/{employee_id}

  • Update an employee

PUT https://api.gusto-demo.com/v1/employees/{employee_id}

  • Delete an onboarding employee

DELETE https://api.gusto-demo.com/v1/employees/{employee_id}

  • Get an employee's custom fields

GET https://api.gusto-demo.com/v1/employees/{employee_id}/custom_fields

  • Get employee time off activities

GET https://api.gusto-demo.com/v1/employees/{employee_uuid}/time_off_activities

Employee Employments

  • Get terminations for an employee

GET https://api.gusto-demo.com/v1/employees/{employee_id}/terminations

  • Get an employee rehire

GET https://api.gusto-demo.com/v1/employees/{employee_id}/rehire

  • Get employment history for an employee

GET https://api.gusto-demo.com/v1/employees/{employee_id}/employment_history

Employee Addresses

  • Get an employee's home addresses

GET https://api.gusto-demo.com/v1/employees/{employee_id}/home_addresses

  • Create an employee's home address

POST https://api.gusto-demo.com/v1/employees/{employee_id}/home_addresses

  • Get an employee's home address

GET https://api.gusto-demo.com/v1/home_addresses/{home_address_uuid}

  • Update an employee's home address

PUT https://api.gusto-demo.com/v1/home_addresses/{home_address_uuid}

  • Delete an employee's home address

DELETE https://api.gusto-demo.com/v1/home_addresses/{home_address_uuid}

  • Get an employee's work addresses

GET https://api.gusto-demo.com/v1/employees/{employee_id}/work_addresses

  • Create an employee work address

POST https://api.gusto-demo.com/v1/employees/{employee_id}/work_addresses

  • Get an employee work address

GET https://api.gusto-demo.com/v1/work_addresses/{work_address_uuid}

  • Update an employee work address

PUT https://api.gusto-demo.com/v1/work_addresses/{work_address_uuid}

  • Delete an employee's work address

DELETE https://api.gusto-demo.com/v1/work_addresses/{work_address_uuid}

Jobs and Compensations

  • Create a job

POST https://api.gusto-demo.com/v1/employees/{employee_id}/jobs

  • Get jobs for an employee

GET https://api.gusto-demo.com/v1/employees/{employee_id}/jobs

  • Get a job

GET https://api.gusto-demo.com/v1/jobs/{job_id}

  • Update a job

PUT https://api.gusto-demo.com/v1/jobs/{job_id}

  • Delete an individual job

DELETE https://api.gusto-demo.com/v1/jobs/{job_id}

  • Get compensations for a job

GET https://api.gusto-demo.com/v1/jobs/{job_id}/compensations

  • Create a compensation

POST https://api.gusto-demo.com/v1/jobs/{job_id}/compensations

  • Get a compensation

GET https://api.gusto-demo.com/v1/compensations/{compensation_id}

  • Update a compensation

PUT https://api.gusto-demo.com/v1/compensations/{compensation_id}

  • Delete a compensation

DELETE https://api.gusto-demo.com/v1/compensations/{compensation_id}

Employee Benefits

  • Create an employee benefit

POST https://api.gusto-demo.com/v1/employees/{employee_id}/employee_benefits

  • Get all benefits for an employee

GET https://api.gusto-demo.com/v1/employees/{employee_id}/employee_benefits

  • Get an employee benefit

GET https://api.gusto-demo.com/v1/employee_benefits/{employee_benefit_id}

  • Update an employee benefit

PUT https://api.gusto-demo.com/v1/employee_benefits/{employee_benefit_id}

  • Delete an employee benefit

DELETE https://api.gusto-demo.com/v1/employee_benefits/{employee_benefit_id}

  • Create year-to-date benefit amounts from a different company

POST https://api.gusto-demo.com/v1/employees/{employee_id}/ytd_benefit_amounts_from_different_company

Garnishments

  • Create a garnishment

POST https://api.gusto-demo.com/v1/employees/{employee_id}/garnishments

  • Get garnishments for an employee

GET https://api.gusto-demo.com/v1/employees/{employee_id}/garnishments

  • Get a garnishment

GET https://api.gusto-demo.com/v1/garnishments/{garnishment_id}

  • Update a garnishment

PUT https://api.gusto-demo.com/v1/garnishments/{garnishment_id}

Gusto API Use Cases

  • Automate employee time tracking (with flexible scheduling and remote work options), approval and accurate payroll creation
  • Rely on robust and customizable checklists for employee onboarding and ensure software provisioning with a few clicks
  • Automate workflow for performance management including self evaluation, manager review and career development sources with custom performance software
  • Leverage customizable reports, anonymous team surveys, automatic compliance alerts for holistic team insights
  • Create a payroll which runs on autopilot with automated calculations, compliances and much more

Top customers

Serving 300,000+ businesses, Gusto API is the preferred HR and payroll solutions provider for many global names, including:

  • Little Fish Accounting, a boutique CPA firm providing small businesses, entrepreneurs, and freelancers with accounting + tax support
  • ApproveMe.com, a document signing experience™ that helps businesses build better relationships with their signers
  • Snapbar, a company that develops intuitive, web-based products leveraging the power of photo and video
  • Heckler Design, a firm that creates beautifully simple, commercial-grade hardware and furniture for design-conscious consumers and businesses
  • Floyd Lee Locums, a company that provides an elite concierge experience to physicians, CRNAs, nurse practitioners, physician assistants, and other healthcare providers

Gusto API FAQs

Following is a list of FAQs that can help guide your Gusto API integration journey:

  • How do I get access to a sandbox environment to build Gusto API integration? Answer
  • How do I get API keys for Gusto API? Answer
  • Can I change the redirect URI for the API Keys? Answer
  • How long does it usually take to build an integration with Gusto API? Answer
  • Once an employee is created in Gusto via the API, what happens next? Answer
  • What’s required to obtain API Keys for Production? Answer
  • What debits can I expect to see via the Gusto API? Answer
  • Can I make test calls in production after my Gusto API integration has passed QA and launched? Answer
  • What are the error codes associated with Gusto API? Answer
  • How can I create a job ID and compensation for an employee in Gusto API? Answer
  • Does Gusto API have any sample codes I can use to get started on? Answer
  • What kind of support will I get when building my integration? Answer

Common Integrations with Gusto API 

Undoubtedly, there are several categories of applications which can benefit from integrating with Gusto API. Listing a few for developers to get an idea:

  • ATS applications to push newly hired candidate data
  • Performance management systems to get access to employee rosters and information
  • HR analytics platforms to get access to employee data, including payroll, compensation, etc. 
  • Benefits applications to facilitate accurate deductions and benefits administration

How to integrate with Gusto API 

To commence your integration journey with Gusto API, it is important to create a developer account. You can sign up for an account here. Once you sign up for a developer account, the next steps are quite streamlined. It involves accepting the terms of service, setting up the account, creating the application to get access to your unique Gusto API keys. As a best practice, it is ideal to go through the detailed documentation and guides offered by Gusto API to understand the diverse aspects of integration. You can check out the documentation resource to answer all questions you may have, here. Gusto API also offers a sandbox functionality to test and demo your work, before making a firm commitment.  

Get started with Gusto API 

Developers can build Gusto API integration for their applications following the steps mentioned in the section above and by leveraging the documentation shared. However, building one integration can take up to 4-6 weeks on an average, utilizing a lot of developer bandwidth, becoming a cost intensive project. In case you need to build more than one HRMS integration, leveraging a unified API like Knit is ideal. A unified API adds an additional layer of abstraction on top of the API, ensuring that developers only have to integrate with one unified API to connect with several HRMS applications supported by the unified API. To understand how a unified API like Knit can help your integration journey, book a demo today. 

Start building with Knit, today

Talk to our sales team for a free tour of Knit!

Book Demo!