Tuhund - Attendance Punch Push API

API # : 8042 | API Name : attendancepunch

This API is used to register attendance in or out punch in Tuhund.

URL : <domain>/apic/attendancepunch
Methods Allowed : POST

The Attendance Punch Push API is used to submit individual employee attendance punch events from external devices and applications into the Tuhund Attendance Management system. It serves as the standard integration interface for biometric terminals, facial recognition systems, RFID readers, mobile attendance applications, access control systems, GPS based field attendance applications and other third party time recording solutions.

Each API request represents a single punch event for a single employee. Depending on the supplied direction, the API automatically determines whether the event should be recorded as a Punch In or Punch Out. For Punch In events, a new attendance record is created. For Punch Out events, the system locates the employee's latest open attendance record and updates it with the supplied punch time. This enables external systems to submit attendance events without needing to understand or manage Tuhund's internal attendance workflow.

The API validates every request before processing. It confirms that the supplied employee punch code belongs to a valid employee, verifies that the direction is one of the supported values and ensures that all mandatory information has been provided. Invalid requests are rejected with descriptive error messages and error codes to assist external applications in identifying and correcting integration issues.

To protect attendance data from accidental duplicate submissions, the API performs duplicate punch detection. If another punch for the same employee has already been recorded within the configured duplicate detection interval, the request is rejected. This prevents duplicate attendance records caused by communication retries, network interruptions or multiple transmissions from biometric devices.

When processing Punch Out events, the API ensures that the employee has a corresponding open Punch In record. If no active attendance record exists, the Punch Out request is rejected, preventing orphaned Punch Out transactions and maintaining the integrity of attendance records.

The API also supports a validation mode through the mode parameter. When the request is submitted in Test mode, all validations and business rules are executed exactly as they would be for a live transaction, but no changes are committed to the database. This allows device manufacturers, integration partners and system administrators to verify connectivity, payload formatting and business rule compliance without affecting production attendance data.

The requester field records the origin of every punch, allowing organisations to identify the device, application or integration source responsible for each attendance transaction. This information is stored with the attendance record to improve auditability, troubleshooting and operational reporting.

The Attendance Punch Push API is designed for high volume, real time integrations and can safely receive continuous attendance events throughout the day. It provides a lightweight transaction model while ensuring that attendance records remain accurate, consistent and protected against duplicate submissions. The API is suitable for enterprise deployments ranging from a single attendance device to large distributed organisations operating multiple biometric systems across different locations.

 

Payload Schema :

Request Headers :

Name Description
device A short name of your application. Device is mandatory but any value between 3 and 20 characters is accepted.
Authentication Authentication code generated for API call.

Sample Payload Punch In :

Sample Payload Punch Out :

Sample Payload Test :

Sample Response :

Sample Response - Test :

Error Codes

Error Code Message Description
803 Expected values for direction are O, Out, I, In Invalid direction supplied
806 No employee with punch code XXX found here Employee code not recognised
808 This looks like a double punch Duplicate punch detected within the permitted interval
808 Cannot punch out a person who has no punch in record Punch Out received without an open attendance record
500 Internal server error Unexpected server exception
Tuhund Logo
TUHUND®
Home About us Modules CRM HR SALES BI SERVICES MANAGEMENT INVENTORY MANAGEMENT ACCOUNTING AND FINANCE PROCUREMENT PROJECT MANAGEMENT ERP ADMINISTRATION DATA REPOSITORY API & SUB PORTALS Careers Community Blog
M Home Schedule Demo About us Community Blog
CRM HR SALES BI SERVICES MANAGEMENT INVENTORY MANAGEMENT ACCOUNTING AND FINANCE PROCUREMENT PROJECT MANAGEMENT ERP ADMINISTRATION DATA REPOSITORY API & SUB PORTALS Careers
API Documents
Request Demo