API Documentation

We suggest the following steps:

  1. Getting Started
    An API or Application Programming Interface specifies how a particular set of functions or routines are supposed to interact with a specific software component. This new API provides a simpler process to interface with the FingerCheck.com web service.

    Utilizing the FingerCheck API will allow you to perform three distinct command functions. First, you can use the GET Command to retrieve information from the web service. Second, you can use the POST command to input information seamlessly into the FingerCheck.com web service, and finally DELETE can be used to remove information.

    The FingerCheck.com API is considered a REST API, or Representational State Transfer, meaning that a set of operations can be invoked by utilizing one of four verbs: GET, POST, PUT, DELETE in conjunction with the web service URL.

    Note: To use the FingerCheck.com API, you will have to be using the secure https protocol.
    The base url is as follows: https://developer.fingercheck.com/api/DESIRED FUNCTION URL.
  2. Request Key Headers
    Prior to sending a command to the FingerCheck.com web service, you must include two Key Headers:

    • APIKEY – a unique key that is issued to the programmer to access the API web service.
    • ClientSecretKey - generated on a per company level and a per user level to define the distinct access to be given to the user. This ClientSecretKey can be used as a filter to restrict a programmer from accessing unauthorized information. NOTE: If you want to access two companies, you can use the same APIKEY, but will need to request an additional ClientSecretKey.
    • To obtain your API Keys, sign in as an administrator to your Fingercheck account, click your profile avatar, select "Account & Preferences," and then click "Generate" on the bottom left API Key section. For any help or questions please contact support at support@fingercheck.com
  3. Available Functions
    Currently, the two main functions available to API users are GET and POST.

    • GET – This function will List or Retrieve URI’s or other data. The FingerCheck API returns a JSON (JavaScript Object Notation) object. JSON utilizes human-readable text to transmit data objects.
    • POST – Creates a new entry within the collection of data. In order to post information, the input data must contain all required fields
  4. Data Key Field
    In order to insure that your data posts correctly, you must have Employee Number as part of your dataset.

Current List of API Functions Available



Reports

Retrieve Reporting Data Utilizing GET

APIDescription
GET v1/Reports/GetLiveStatusByDate?date={date}

Returns Live Status for a Date

GET v1/Reports/GetSchedulesByDate?startDate={startDate}&endDate={endDate}

Returns All Schedules for a Specified Date Range

GET v1/Reports/GetExistingSchedulesByDate?startDate={startDate}&endDate={endDate}

Returns only existing Schedules for a Specified Date Range

GET v1/Reports/GetAbsenceRequestsByDate?startDate={startDate}&endDate={endDate}

Returns All Absence Requests for a Specified Date Range

GET v1/Reports/GetAllAbsenceRequestsForDateRangeByEmployeeNumber?startDate={startDate}&endDate={endDate}&employeeNumber={employeeNumber}

Returns All Absence Requests for a Specified Date Range and Employee

GET v1/Reports/GetAllPaidHoursForDateRange?startDate={startDate}&endDate={endDate}

Returns All Paid Hours for a Specified Date Range

GET v1/Reports/GetAllPaidHoursForDateRangeByEmployeeNumber?startDate={startDate}&endDate={endDate}&employeeNumber={employeeNumber}

Returns All Paid Hours for a Specified Date Range and Employee

GET v1/Reports/GetAllPayrollChecksForDateRange?startDate={startDate}&endDate={endDate}

Returns All Payroll Checks for a Specified Date Range

GET v1/Reports/GetAllPayrollChecksForDateRangeByEmployeeNumber?startDate={startDate}&endDate={endDate}&employeeNumber={employeeNumber}

Returns All Payroll Checks for a Specified Date Range and Employee

GET v1/Reports/GetAllPayrollCheckDetailsForDateRange?startDate={startDate}&endDate={endDate}

Returns All Payroll Check Details for a Specified Date Range

GET v1/Reports/GetAllPayrollCheckDetailsForDateRangeByEmployeeNumber?startDate={startDate}&endDate={endDate}&employeeNumber={employeeNumber}

Returns All Payroll Check Details for a Specified Date Range and Employee

GET v1/Reports/GetAllTimeCardRawDataForDateRange?startDate={startDate}&endDate={endDate}

Returns All Time Card Raw Data for a Specified Date Range

GET v1/Reports/GetAllTimeCardRawDataForDateRangeByEmployeeNumber?startDate={startDate}&endDate={endDate}&employeeNumber={employeeNumber}

Returns All Time Card Raw Data for a Specified Date Range and Employee

GET v1/Reports/GetAllTimeCardsForDateRange?startDate={startDate}&endDate={endDate}

Returns All Time Cards for a Specified Date Range

GET v1/Reports/GetAllTimeCardsForDateRangeByEmployeeNumber?startDate={startDate}&endDate={endDate}&employeeNumber={employeeNumber}

Returns All Time Cards for a Specified Date Range and Employee

GET v1/Reports/GetEmployeeActivePTOAccruals

Returns All Employee Active PTO Records

GET v1/Reports/GetEmployeeActivePTOAccrualsByEmployeeNumber/{employeeNumber}

Returns Employee Active PTO Records for Specified Employee

GET v1/Reports/GetEmployeePTOAccruals

Returns All Employee PTO Records

GET v1/Reports/GetEmployeePTOAccrualsByEmployeeNumber/{employeeNumber}

Returns Employee PTO Records for Specified Employee

GET v1/Reports/GetEmployeeActiveRates?startDate={startDate}&endDate={endDate}

Returns All Employee Active Rates

GET v1/Reports/GetEmployeeActiveRatesByDatesByEmployeeNumber/{employeeNumber}?startDate={startDate}&endDate={endDate}

Returns Employee Active Rates for Specified Employee

GET v1/Reports/GetEmployeeRatesByStartDate?startDate={startDate}

Returns All Employee Rates by Start Date

GET v1/Reports/GetEmployeeRatesByStartDateByEmployeeNumber/{employeeNumber}?startDate={startDate}

Returns Employee Rates for Specified Employee By Start Date

POST v1/Reports/PostDownloadGeneralLedgerByCode

Downloads a General Ledger Report passing in the General Ledger Code, along with the CheckDate plus Run Number of the requested payroll

PayOnDemand

Posting Pay On-Demand Transactions and Enrollments

APIDescription
POST v1/PayOnDemand/AddPayOnDemandTransactionRequest

AddPayOnDemandTransactionRequest

GET v1/PayOnDemand/GetEmployeePayOnDemandTransactionsByEmployeeNumber/{employeeNumber}

Retrieves Employee Pay On-Demand Transactions by Employee Number

GET v1/PayOnDemand/GetEmployeePayOnDemandTransactionByReferenceNumber/{referenceNumber}

Retrieves Pay On-Demand Transaction by Reference Number

POST v1/PayOnDemand/EnrollEmployeeForPayOnDemand?employeeNumber={employeeNumber}

EnrollEmployeeForPayOnDemand

POST v1/PayOnDemand/AgreeToTermsEmployeeForPayOnDemand?employeeNumber={employeeNumber}

AgreeToTermsEmployeeForPayOnDemand

GET v1/PayOnDemand/GetEmployeePayOnDemandApplicationByEmployeeNumber/{employeeNumber}

Retrieves Employee Pay On-Demand Application by Employee Number

POST v1/PayOnDemand/ApproveDeclinePayOnDemandEmployeeApplication/{employeeNumber}?approveDecline={approveDecline}

Approve or Decline an Employee Pay On-Demand Application by Employee Number

POST v1/PayOnDemand/UpdateEmployeePayOnDemandApplicationByEmployeeNumber/{employeeNumber}

Update an Employee Pay On-Demand Application's EmployeePercentWageLimit by Employee Number

Sync

Synchronizing company setup informaiton

APIDescription
GET v1/Sync/GetLookupDataListSampleObject

Retrieve a Sample Lookup Meta Data Object

GET v1/Sync/GetLookupDataSampleObject

Retrieve a Sample Lookup Entity Meta Data Object

GET v1/Sync/GetJobList

Retrieve a List of Jobs

POST v1/Sync/SyncJobs

Sync Jobs to the system, parameter is List of Lookup Entity Data Object

GET v1/Sync/GetCostCenterList?level={level}

Retrieve a List of Cost Centers by level

POST v1/Sync/SyncCostCenters?level={level}

Sync Cost Centers to the system, parameter is List of Lookup Entity Data Object

Schedule

Retrieve Schedule Data Utilizing GET, Update Schedule Data Utilizing POST, and DELETE Information

APIDescription
POST v1/Schedule/SynchronizeEmployeeSchedule

Synchronize Employee Schedule Data to the system. Parameter is ScheduleMetaData Object. Employee Number and Start Date is the Data Key for proper updating

DELETE v1/Schedule/DeleteTimeClockSchedule?timeClockScheduleID={timeClockScheduleID}

Delete an Employee Schedule. Parameter is ScheduleMetaData Object. TimeClockScheduleID is the Data Key for proper deleting

DELETE v1/Schedule/DeleteTimeClockSchedules

Delete Employee Schedules. Pass in an array of TimeClockScheduleIDs to be deleted

Employees

Retrieve Employee Data Utilizing GET, Update Employee Data Utilizing POST, and DELETE Employee Information

APIDescription
POST v1/Employees/AddEmployee

Add Employee Data to the system, parameter is Employee Object

DELETE v1/Employees/DeleteEmployeeByEmpoyeeNumber/{employeeNumber}

Delete Employee Data from the System. Parameter is Employee Number, And Employee Number is the Data Key.

GET v1/Employees/GetAllActiveEmployees

Retrieve a complete collection of Active Employee Data

GET v1/Employees/GetAllEmployees

Retrieve a complete collection of Employee Data

GET v1/Employees/GetEmployeeByEmployeeNumber/{employeeNumber}

Retrieves Employee Object by distinct Employee Number

GET v1/Employees/GetEmployeesByClockSerialNumber/{clockSerialNumber}

Retrieve a complete collection of Employee Data By Clock Serial Number

POST v1/Employees/SynchronizeEmployees

Synchronize Employee Data to the system. Parameter is Employee Object. Employee Number is the Data Key for proper updating

POST v1/Employees/UpdateEmployee

Update Employee Information, parameter is Employee Object. Employee Number is the Data Key for proper updating

POST v1/Employees/EnrollEmployeeForSelfService/{employeeNumber}

Send Employee a Self Service Invite Email, parameter is the EmployeeNumber.

POST v1/Employees/UpdateEmployeeForOnOnboarding

Onboard an employee to payroll expecting the employee to be in the system

DELETE v1/Employees/DeleteEmployeeFromAllClocks?employeeNumber={employeeNumber}

No documentation available.

DELETE v1/Employees/DeleteEmployeeFromClock?employeeNumber={employeeNumber}&clockSerialNumber={clockSerialNumber}

Delete Employee From Clock,a clock number in the employee is required, parameter is Employee Number, Clock Serial Number

GET v1/Employees/GetClocksEnrolledByEmployeeNumber/{employeeNumber}

Retrieves Clocks Enrolled for the Employee by distinct Employee Number in a Dictionary. Key is the SerialNumber and value is the Clock Description

POST v1/Employees/SendEmployeeToAllClocks?employeeNumber={employeeNumber}

Send Employee to All Active Clocks,a clock number in the employee is required, parameter is Employee Number

POST v1/Employees/SendEmployeeToClock?employeeNumber={employeeNumber}&clockSerialNumber={clockSerialNumber}

Send Employee to Clock, a clock number in the employee is required, parameter is Employee Number, Clock Serial Number

POST v1/Employees/AddEmployeeDirectDeposit

Add Employee Direct Deposit Information, parameter is Employee Direct Deposit Object. Employee Number is the Data Key for proper updating

DELETE v1/Employees/DeleteEmployeeDirectDeposit

Delete Employee Direct Deposit Information, parameter is Employee Direct Deposit Object. Employee Number and Direct Deposit ID is the Data Key for proper updating

GET v1/Employees/GetEmployeeDirectDepositsByEmployeeNumber/{employeeNumber}

Retrieves Employee Direct Deposits by Employee Number

POST v1/Employees/UpdateEmployeeDirectDeposit

Update Employee Direct Deposit Information, parameter is Employee Direct Deposit Object. Employee Number and Direct Deposit ID is the Data Key for proper updating

POST v1/Employees/IssueFingercheckPayCard

Generate and link a Pay Card for specific Employee, parameter is EmployeePayCardData Object. Employee Number is the Data Key for proper updating.

POST v1/Employees/AutoLoadEmployeeTaxCodesByEmpoyeeNumber/{employeeNumber}

Auto Loads Employee Tax Codes. Parameter is Employee Number, And Employee Number is the Data Key.

POST v1/Employees/AddEmployeeDeduction

Add Employee Deduction Information, parameter is Employee Deduction Object. Employee Number is the Data Key for proper updating

DELETE v1/Employees/DeleteEmployeeDeductions

Delete Employee Deduction Information, parameter is Employee Deduction Object. Employee Number and Employee Deduction ID is the Data Key for proper updating

GET v1/Employees/GetEmployeeDeductionsByEmployeeNumber/{employeeNumber}

Retrieves Employee Deduction by Employee Number

POST v1/Employees/UpdateEmployeeDeduction

Update Employee Deduction Information, parameter is Employee Deduction Object. Employee Number and Employee Deduction ID is the Data Key for proper updating

POST v1/Employees/AddEmployeePayRate

Add Employee Pay Rate Information, parameter is Employee Pay Rate Object. Employee Number is the Data Key for proper updating

DELETE v1/Employees/DeleteEmployeePayRate

Delete Employee Pay Rate parameter is Employee PayRate Object. Employee Number and Employee Pay Rate ID is the Data Key for proper updating

GET v1/Employees/GetEmployeePayRatesByEmployeeNumber/{employeeNumber}

Retrieves Employee Pay Rates by Employee Number

POST v1/Employees/UpdateEmployeePayRate

Update Employee Pay Rate, parameter is Employee Employee Pay Rate Object. Employee Number and Employee Pay Rate ID is the Data Key for proper updating

GET v1/Employees/GetEmployeeClockInfoByEmployeeNumber/{employeeNumber}

Retrieves EmployeeClockInfo Object by distinct Employee Number

GET v1/Employees/GetEmployeeLastPunchInfoByEmployeeNumber/{employeeNumber}

Retrieves EmployeeLastPunchInfo Object by distinct Employee Number

POST v1/Employees/UpdateEmployeeClockInfo

Update Employee Clock Information, parameter is EmployeeClockInfo Object. Employee Number is the Data Key for proper updating

Punch

Clock In/Out Employee Utilizing Post

APIDescription
POST v1/Punch/AddPaidHour

Add Paid Hours to the system, parameter is Paid Hour Meta Data Object

POST v1/Punch/AddPunch

Add Punch to the system, parameter is Clock Punch Data Object

POST v1/Punch/AddPunchs

Add Punchs to the system, parameter is List of Clock Punch Data Object

GET v1/Punch/GetClockPunchMetaDataListSampleObject

Retrieve a Sample List Clock Meta Data Object

GET v1/Punch/GetClockPunchMetaDataSampleObject

Retrieve a Sample Clock Meta Data Object

GET v1/Punch/GetPunchPhotoByPunchPhotoID?photoID={photoID}

Returns Photo for punch photo id

POST v1/Punch/EditPunch

Edit Punch to the system, parameter is Clock Punch Data Object and Punch ID cant be empty

DELETE v1/Punch/DeletePunch

Delete Punch to the system, parameter is Clock Punch Data Object and Punch ID cant be empty