Paycom API Integration

These are the list of integration use cases supported by Knit for Paycom API as part of the HRIS category


Delete Punch from Employee Timecard

  • ID: delete_punch_from_employee_timecard
  • Operation: write
  • Entities: punch, timecard, employee
  • Summary: The 'Delete Punch from Employee Timecard' API allows for the deletion of existing punches on an employee's timecard using the DELETE method. The endpoint requires a path parameter 'punchid', which is the unique identifier for the punch provided by Paycom. Upon successful deletion, the system processes this time clock event into a reported and calculated time block. The API returns standard HTTP response codes such as 200 for OK, 401 for Unauthorized, 404 for Not Found, and 409 for Conflict. There are rate limits applied, including a bucket size of 20, 3 calls per second, a per call resource limit of 2500, a per day call limit of 30000, and a per day resource limit of 500000.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Client Earning Codes Retrieval

  • ID: get_client_earning_codes_retrieval
  • Operation: read
  • Entities: response code, rate limit, earning
  • Summary: The Client Earning Codes Retrieval API endpoint allows users to retrieve a list of existing earning codes. This API uses the GET method and does not require any input parameters. The response includes a list of earning codes, each with an 'earnCode' representing the type of earning, an 'earnDesc' providing a description of the earning code, and a 'hideonline' integer indicating if the earning code is hidden online. The API supports various response codes, including 200 for successful requests, 206 for partial content, 401 for unauthorized access, and 409 for conflicts. Rate limits include a maximum of 10 calls per second and 5000 calls per day.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Clocked In/Out Status

  • ID: get_clocked_in_out_status
  • Operation: read
  • Entities: employee, clock
  • Summary: The Clocked In/Out Status API returns a list of employees who are currently clocked in or out using the Paycom Time and Attendance system. It provides details such as the employee's name, badge number, clock sequence number, pay class, punch type, and punch time. The API accepts optional parameters like eecode, eebadge, clocksequencenumber, payclass, clockid, and clockedout to filter the results. The response includes detailed information about each employee's clock-in or clock-out status.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Company Establishments

  • ID: get_company_establishments
  • Operation: read
  • Entities: location, company, establishment
  • Summary: The Get Company Establishments API returns a list of one or all Company Establishments configured for the client. It uses the GET method and requires an optional path parameter 'establishmentid' to specify a particular establishment. The response includes details such as establishment ID, description, FEIN, address, city, state, ZIP code, country, DUNS code, NAICS code, whether it is the company headquarters, and associated location IDs.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Company Locations

  • ID: get_company_locations
  • Operation: read
  • Entities: response code, parameter, company location
  • Summary: The Get Company Locations API returns a list of all or specific company locations configured for the client. The API uses the GET method and requires the 'locationid' as a path parameter, which is optional. The response includes details such as location ID, description, facility ID, address, city, state, zip code, country, EEOC Unit Number, hiring site status, VETS 4212 Hiring Location status, and whether the location is hidden. The API supports various response codes, including 200 for success, 206 for partial content, 401 for unauthorized access, and 409 for conflict.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Employee Changes Audit Log

  • ID: get_employee_changes_audit_log
  • Operation: read
  • Entities: field, change, employee
  • Summary: The Get Employee Changes Audit Log API returns an audit log of updates made to non-sensitive employee fields for a specified date range. The endpoint requires the employee code (eecode) as a path parameter and optionally accepts a change-id. The date range for the query is specified using the startdate and enddate query parameters in UNIX format, with a maximum range of seven days. The response includes details of each change, such as the change ID, who made the change, a description, the time of change, and the old and new values.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Employee Changes Sensitive Audit Log

  • ID: get_employee_changes_sensitive_audit_log
  • Operation: read
  • Entities: field, audit log, employee
  • Summary: The Employee Changes Sensitive Audit Log API returns an audit log of updates made to employee fields for a specified date range. The GET method requires the 'eecode' path parameter, which is a four-character employee identifier. Optional query parameters 'startdate' and 'enddate' can be provided in UNIX format to specify the date range, which cannot exceed seven days. The response includes details such as who made the change, the description and type of change, the time of change, and the old and new values. The 'usetype' field indicates the type of user who made the change, with possible values being System, Client User, Employee, or System.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Employee Custom Fields

  • ID: get_employee_custom_fields
  • Operation: read
  • Entities: supervisor, employee, custom field
  • Summary: The Get Employee Custom Fields API retrieves custom field information for a specific employee identified by the 'eecode'. The custom fields are unique per client and can be of text, select, or date type. The API requires the 'eecode' as a path parameter, which is a four-character employee identifier. The response includes custom fields with their descriptions and values, categorized into select, text, and date types. The API supports a rate limit of 100 calls per bucket size, 10 calls per second, and a maximum of 50,000 calls per day.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Employee Directory API

  • ID: get_employee_directory
  • Operation: read
  • Entities: department, address, employee
  • Summary: The Employee Directory API allows users to retrieve a list of employees and their demographics from the Paycom system. The API uses a GET method and can return data for a specific employee if the 'eecode' path parameter is provided, or for all employees if it is omitted. The response includes detailed demographic information such as employee name, address, department, and various categories. The API supports a rate limit of 100 requests per bucket size and 10 calls per second.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Employee Effective Rates by Allocation

  • ID: get_employee_effective_rates_by_allocation
  • Operation: read
  • Entities: allocation, rate, employee
  • Summary: The Employee Effective Rates by Allocation API retrieves the effective rates and their dates for a specific employee based on their labor distribution allocations. The API requires the employee code as a path parameter and optionally accepts a query parameter to specify whether to retrieve current or past rates. The response includes detailed information about the employee's allocation codes and descriptions across multiple categories, along with their effective start and end dates.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Employee Identifiers

  • ID: get_employee_identifiers
  • Operation: read
  • Entities: employee
  • Summary: The Get Employee Identifiers API returns a list of employee identifiers including eecode, clock sequence number, and badge number. It can return data for one or all employees based on the provided parameters. The 'eecode' is a path parameter representing the four-character employee identifier, and 'eestatus' is an optional query parameter for filtering employee status with accepted values such as Active, Inactive, Terminated, etc. The response includes details like employee code, badge number, clock sequence, and full name. The API supports various response codes including 200 for success, 401 for unauthorized access, and 409 for conflicts.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Employee IDs for Changes

  • ID: get_employee_ids_for_changes
  • Operation: read
  • Entities: change, timeframe, employee
  • Summary: The Employee IDs for Changes API returns a list of employee codes for those who have changes within a specified timeframe. The GET method requires query parameters 'startdate' and 'enddate' which are UNIX timestamps rounded to the nearest minute. These parameters are optional and default to 1 hour ago and now, respectively. The date range may not exceed 24 hours. The response includes an array of objects, each containing an 'eecode' (employee code) and 'changescount' (number of changes). The API supports rate limits and returns various HTTP status codes such as 200 for OK, 401 for Unauthorized, 206 for Partial Content, 429 for Too Many Requests, and 409 for Conflict.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Employee Master Record

  • ID: get_employee_master_record
  • Operation: read
  • Entities: department, employee, contact
  • Summary: The Get Employee Master Record API returns a non-sensitive master record for a specified employee identified by the 'eecode' path parameter. The 'eecode' is a required four-character identifier found in the Paycom system. The API provides detailed information about the employee, including personal details such as marital status, age, and birth date, as well as employment details like business title, department, and employee status. The response also includes emergency contact information and eligibility for benefits like 401k. The API is subject to rate limits, including a maximum of 10 calls per second and 50,000 calls per day.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Employee Master Record with Sensitive Data

  • ID: get_employee_master_record_with_sensitive_data
  • Operation: read
  • Entities: data, parameter, employee
  • Summary: This API endpoint retrieves a master record for a specific employee, including sensitive data such as pay rate and deposit information. The endpoint requires a path parameter 'eecode', which is a four-character employee identifier. The response includes detailed employee information such as salary, account codes, personal details, employment status, and more. The API supports GET requests and returns a comprehensive JSON object with all the employee's sensitive data.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Employee New Hire Retrieval

  • ID: get_employee_new_hire_retrieval
  • Operation: read
  • Entities: allocation description, allocation code, employee
  • Summary: The Employee New Hire Retrieval API allows users to retrieve a list of employees who were added within a specified date range. The date range cannot exceed two weeks. The API uses a GET method and requires the 'eecode' as a path parameter, which is a four-character employee identifier. Additionally, 'startdate' and 'enddate' can be provided as query parameters in UNIX format to specify the date range. The response includes details such as who added the employee, the employee code, employee name, the time they were added, and the user type of the person who added them.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Employee Photo

  • ID: get_employee_photo
  • Operation: read
  • Entities: photo, employee
  • Summary: The Get Employee Photo API returns an employee's photo encoded as a base64 string. It requires the 'eecode' path parameter, which is a four-character employee identifier. Optionally, a 'phototype' query parameter can be provided to filter the photo type, with 'thumbnail' as an accepted value. The response includes the photo encoded in base64 format. The API supports various response codes, including 200 for success, 401 for unauthorized access, 206 for partial content, and 409 for conflict. Rate limits apply, with a maximum of 500,000 calls per day.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Employee Punch Audit

  • ID: get_employee_punch_audit
  • Operation: read
  • Entities: punch, timecard, employee
  • Summary: The Get Employee Punch Audit API returns historical information for an employee's punches within a specified date range. The endpoint defaults to the current pay period of the employee, and the date range may not exceed 30 days. The API requires the employee code (eecode) as a path parameter and optionally accepts startdate, enddate, and audittype as query parameters. The response includes details such as punch ID, type, date, time, and other related information.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Employee Rates by Allocation

  • ID: get_employee_rates_by_allocation
  • Operation: read
  • Entities: allocation, rate, employee
  • Summary: The Employee Rates by Allocation API retrieves employee rates by allocation information from Form 1. It is a GET method that returns rates and additional information for a specific employee identified by a four-character employee code (eecode). The response includes various rate codes and descriptions, department information, and employee details. The API is subject to rate limits, including a bucket size of 100, 10 calls per second, and a daily call limit of 50,000.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Employee Tax Information

  • ID: get_employee_tax_information
  • Operation: read
  • Entities: tax, state, employee
  • Summary: The Get Employee Tax Information API retrieves the tax setup details for a specific employee identified by the 'eecode' parameter. This API requires the 'eecode' as a path parameter, which is a four-character identifier for the employee in the Paycom system. The response includes detailed tax information such as federal and state allowances, filing status, additional tax amounts, and local tax details. The API supports a rate limit of 10 calls per second and a maximum of 50,000 calls per day.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Labor Allocation Categories

  • ID: get_labor_allocation_categories
  • Operation: read
  • Entities: labor allocation category, response code, parameter
  • Summary: The Get Labor Allocation Categories API returns a list of one or all labor allocation categories. The endpoint is accessed via a GET request to 'api/v1/cl/category/:catcode'. The 'catcode' is a path parameter that specifies the labor allocation category code, ranging from 0 to 20, and is optional. The response includes the 'catcode' and 'catdesc', which are the category code and its description, respectively. The API supports various response codes, including 200 for success, 206 for partial content, 401 for unauthorized access, and 409 for conflict. Rate limits apply, with a maximum of 10 calls per second and 5000 calls per day.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Labor Allocation Distributions

  • ID: get_labor_allocation_distributions
  • Operation: read
  • Entities: labor allocation category, distribution, labor allocation detail
  • Summary: The Labor Allocation Distributions API allows users to retrieve information for one or all distributions for a specified labor allocation category. The GET method returns a list of distributions based on the specified 'catcode' and optionally 'detailcode'. The 'catcode' is a required path parameter representing the labor allocation category code, while 'detailcode' is an optional path parameter for an existing distribution. The response includes details such as 'tippedjob', 'profiles', 'hideonline', 'glcodedef', 'detailcode', 'detaildesc', and 'glcode'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

New Hire Custom Fields

  • ID: get_new_hire_custom_fields
  • Operation: read
  • Entities: client, new hire, custom field
  • Summary: The New Hire Custom Fields API returns custom field information for a new hire. The custom fields are unique per client and can be of type text, select, or date. The API requires a path parameter 'eecode', which is a four-character employee identifier found in the Paycom system. The response includes custom fields with descriptions and values for each type. The API supports a GET method and returns a JSON object containing the custom fields.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get New Hire IDs

  • ID: get_new_hire_ids
  • Operation: read
  • Entities: position, new hire, employee
  • Summary: The Get New Hire IDs API returns a list of new hire IDs for a specified date range. It accepts optional query parameters: 'startdate' and 'enddate' in UNIX format to define the date range, and 'newhirestatus' to filter the status of new hires. The response includes the new hire ID, employee code, and status. The API supports filtering by status such as 'pending', 'new', and 'deleted'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get New Hire Information

  • ID: get_new_hire_information
  • Operation: read
  • Entities: response code, parameter, new hire
  • Summary: This API retrieves the information of a new hire based on the provided new hire ID. The request requires the 'new-hire-id' as a path parameter, which is mandatory. The response includes detailed information about the new hire, such as their name, contact details, employment information, and supervisor details. The API supports a GET method and returns a comprehensive JSON object with all the relevant details of the new hire.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get New Hire Photo

  • ID: get_new_hire_photo
  • Operation: read
  • Entities: gender, photo, new hire
  • Summary: The Get New Hire Photo API returns a new hire's photo encoded in a base64 string. It requires the 'new-hire-id' as a path parameter, which is a string representing the ID of the new hire. The response includes a 'photo' field in the body, which contains the base64 encoded string of the photo. The API supports various response codes, including 200 for success, 401 for unauthorized access, 206 for partial content, and 409 for conflict. The rate limits include a bucket size of 100, 10 calls per second, and a daily call limit of 500,000.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Position Details

  • ID: get_position_details
  • Operation: read
  • Entities: position detail, position code, position
  • Summary: The Get Position Details API returns a list of all positions configured or details of a specific position if a position code is provided. The API uses the GET method and accepts an optional query parameter 'position_code' to filter the results. The response includes detailed information about the position such as position code, title, levels, family, effective date, status, management level, pay type, processing schedule, pay frequency, location, and various profiles related to labor allocation, salary, and benefits.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Position Levels

  • ID: get_position_levels
  • Operation: read
  • Entities: position level, response code, rate limit
  • Summary: The Get Position Levels API returns a list of all position levels or details about a specific position level if a level code is provided. The API accepts an optional query parameter 'level_code' to specify the position level code in the format 'positionCode_levelNumber'. The response includes detailed information about the position level such as level code, title, business title, location, salary grade, and other related attributes.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Retrieve Position Seats Details

  • ID: get_position_seats_details
  • Operation: read
  • Entities: position seat, position title, supervisor
  • Summary: This API endpoint retrieves a list of all position seats or details of a specific position seat if a seat number is provided. It accepts optional query parameters 'seat_number' and 'business_title' to filter the results. The response includes detailed information about each position seat, such as position seat number, position code, status, position title, business title, reporting structure, location, and various other attributes related to the position.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Punch History Retrieval

  • ID: get_punch_history_retrieval
  • Operation: read
  • Entities: punch, timecardapproval, employee
  • Summary: The Punch History Retrieval API allows users to retrieve a list of punches for a specific employee within a specified date range. The API requires the employee code (eecode) as a path parameter and accepts optional query parameters for startdate and enddate in UNIX format. The response includes detailed information about each punch, such as entry type, punch time, punch type, employee code, department code, and more. The date range for the request cannot exceed 30 days. The API supports various response codes, including 200 for successful requests, 206 for partial content, and 401 for unauthorized access.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Punch Import - Edit Time Clock Events

  • ID: patch_punch_import_edit_time_clock_events
  • Operation: write
  • Entities: punch, time clock event, employee time card
  • Summary: The Punch Import API allows for the editing of existing punches on an employee's timecard using the PATCH method. The endpoint 'api/v1/punchimport/:punchid' requires a unique punch ID as a path parameter. The request body can include employee identifiers such as eebadge, eecode, or clocksequencenumber, and additional details like timezone, punchtime, deptcode, cat1-cat20, punchdesc, taxprofid, hours, dollaramount, earncode, earnrate, fixedamount, fixedearncode, makeUpTime, and units. The API responds with a status code and message indicating the result of the operation. The response codes include 200 for success, 401 for unauthorized access, 404 for not found, 409 for conflict, and 400 for bad request. Rate limits apply to the API usage.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Set Category Detail

  • ID: patch_set_category_detail
  • Operation: write
  • Entities: category, detail, labor allocation distribution
  • Summary: The Set Category Detail API allows updating the description, GL code, or hidden value for an existing labor allocation distribution. It requires the 'catcode' and 'detailcode' as path parameters to identify the specific distribution. The request body can include optional fields such as 'detaildesc' to update the description, 'glcode' to update the GL code, 'hideonline' to set the hidden status, 'tippedjob' to set the tipped status, and 'profiles' to assign Labor Allocation Filter Profiles. The response is null, indicating the update was accepted.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Punch Import API

  • ID: post_punch_import
  • Operation: write
  • Entities: punch, time card, employee
  • Summary: The Punch Import API allows for the addition, editing, or deletion of time clock events to employee time cards in real time. It supports importing punches, hours, or earnings to an employee's time card. The API requires at least one of the employee identifiers (eebadge, eecode, or clocksequencenumber) and the punchtime in UNIX format. Optional parameters include timezone, deptcode, cat1-cat20 for additional categorization, and various other fields such as punchdesc, taxprofid, hours, dollaramount, earncode, earnrate, fixedamount, fixedearncode, makeUpTime, clocktype, entrytype, punchtype, externalid, and units for more detailed entries. The response includes the Paycom Punch ID and Punch Body for each punch imported.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Add Bulk Category Detail

  • ID: put_add_bulk_category_detail
  • Operation: write
  • Entities: labor allocation category, labor distribution, distribution
  • Summary: The 'Add Bulk Category Detail' API allows users to add multiple new labor distributions to the Paycom system using existing labor allocation categories. The API uses the PUT method at the endpoint 'api/v1/cl/bulkcategorydetail'. The request body must include an array of objects, each containing 'catcode', 'detailcode', 'detaildesc', and 'glcode', all of which are required fields. The response is null upon successful creation. The API has rate limits, including a bucket size of 20, 3 calls per second, and a daily call limit of 1440.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Add Category Detail

  • ID: put_add_category_detail
  • Operation: write
  • Entities: category, distribution, profile
  • Summary: The 'Add Category Detail' API allows users to add new distributions to existing labor allocation categories using the PUT method. The API requires a path parameter 'catcode' which is the labor allocation category code. The request body must include 'detailcode', 'detaildesc', and 'glcode' as required fields. Optional fields include 'hideonline', 'tippedjob', and 'profiles'. The response body is null, indicating successful creation of the new distribution.
  • Input Fields: Input Fields
  • Output Fields: Output Fields