RESTful APIs: commands from your server to the device
Commands your server sends to a device through the Gateway, with request and response JSON for each one.
RESTful APIs Your Server → Device · Operations 12–38
LoadLog
RESTful APIServer → DeviceRetrieves attendance punch logs from the device within a time window. Recommended max range: 30 days.
{
"Load": {
"PunchLog": {
"Filter": {
"StartTime": "2020-09-17 00:01:33 GMT +0530",
"EndTime": "2020-09-17 22:01:33 GMT +0530"
}
}
},
"OperationID": "j95xfejt3vr1",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{
"Status": "done",
"OperationID": "j95xfejt3vr1",
"PunchLog": {
"ReturnRowCount": "18",
"Log": [
{ "Type": "CheckOut", "Temperature": 36.8, "InputType": "Face", "UserID": "2", "LogTime": "2020-09-17 16:53:43 GMT +0530", "FaceMask": false },
{ "Type": "CheckOut", "Temperature": 36.6, "InputType": "Palm", "UserID": "1", "LogTime": "2020-09-17 16:54:15 GMT +0530", "FaceMask": false },
{ "Type": "CheckIn", "Temperature": 36.5, "InputType": "Fingerprint", "UserID": "3", "LogTime": "2020-09-17 09:01:44 GMT +0530", "FaceMask": false }
]
}
}LoadDeviceInformation
RESTful APIServer → DeviceRetrieves hardware details, capacity limits, registered user/template counts, and license dates from the device.
{
"Load": { "DeviceInformation": "All" },
"OperationID": "j95xfejt3vr1",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-08-28 12:01:33 GMT +0530"
}{
"Status": "done",
"OperationID": "j95xfejt3vr1",
"StatusCode": 0,
"DeviceInformation": {
"DeviceModel": "Hawking Plus (f38+)",
"Manufacturer": "Dheeram Innovations",
"MacAddress": "00-01-A9-16-27-AB",
"StartDate": "03/04/2024",
"EndDate": "03/04/2025",
"LastConnectedTime": "13-11-2025 18:03:48 GMT +0530",
"RegisteredUsers": "0",
"RegisteredFaces": "0",
"RegisteredFingerprints": "0",
"MaximumFacesSupported": "5000",
"MaximumFingerprintsSupported": "10000",
"MaximumAttendanceLogsSupported": "500000"
}
}AddUserWithCard
RESTful APIServer → DeviceRegisters a new user with a card/RFID number as their only credential.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [{ "Type": "Card", "UserID": "100", "Data": "102836" }]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithPassword
RESTful APIServer → DeviceRegisters a new user with a numeric PIN/password as their only credential.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [{ "Type": "Password", "UserID": "100", "Data": "123456" }]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithFace
RESTful APIServer → DeviceRegisters a user with a face template. Data is Base64-encoded JPEG or device-specific binary. Size is the byte length.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [{ "Type": "Face", "UserID": "100", "Size": "25072", "Index": "0", "Data": "/9j/4AAQSkZJRgABAQAAAQABAAD..." }]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithFingerPrint
RESTful APIServer → DeviceRegisters a user with one fingerprint template. Index specifies the finger slot (0–9).
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [{ "Type": "Fingerprint", "UserID": "100", "Size": "1176", "Index": "0", "Data": "TW9TUzIxAAAELC4ECAUHCc7Q..." }]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithPalm
RESTful APIServer → DeviceRegisters a user with a palm vein template. Data is Base64-encoded palm binary.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [{ "Type": "Palm", "UserID": "100", "Index": "0", "Data": "apUBEOAHv98IAAwAAc/qAgzWDlDL..." }]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithUserPhoto
RESTful APIServer → DeviceRegisters a user with a profile photo stored on the device. Data is Base64-encoded JPEG.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [{ "Type": "UserPhoto", "UserID": "100", "Data": "/9j/4AAQSkZJRgABAQAAAQABAAD..." }]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithCardAndPassword
RESTful APIServer → DeviceRegisters a user with both a card number and a PIN — two entries in the Template array.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [
{ "Type": "Card", "UserID": "100", "Data": "102836" },
{ "Type": "Password", "UserID": "100", "Data": "123456" }
]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithCardAndFingerPrint
RESTful APIServer → DeviceRegisters a user with a card number and one fingerprint template.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [
{ "Type": "Card", "UserID": "100", "Data": "102836" },
{ "Type": "Fingerprint", "UserID": "100", "Size": "1176", "Index": "0", "Data": "TW9TUzIxAAAELC4E..." }
]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithPalmAndFace
RESTful APIServer → DeviceRegisters a user with both a palm vein and a face template.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [
{ "Type": "Palm", "UserID": "100", "Index": "0", "Data": "apUBEOAHv98IAAwA..." },
{ "Type": "Face", "UserID": "100", "Size": "25072", "Index": "0", "Data": "/9j/4AAQSkZJRgAB..." }
]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithCard_FingerPrintAndFace
RESTful APIServer → DeviceRegisters a user with card, fingerprint, and face — three templates.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [
{ "Type": "Card", "UserID": "100", "Data": "102836" },
{ "Type": "Fingerprint", "UserID": "100", "Size": "1176", "Index": "0", "Data": "TW9TUzIxAAAELC4E..." },
{ "Type": "Face", "UserID": "100", "Size": "25072", "Index": "0", "Data": "/9j/4AAQSkZJRgAB..." }
]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithCard_PalmAndUserPhoto
RESTful APIServer → DeviceRegisters a user with card, palm vein, and profile photo — three templates.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [
{ "Type": "Card", "UserID": "100", "Data": "102836" },
{ "Type": "Palm", "UserID": "100", "Index": "0", "Data": "apUBEOAHv98IAAwA..." },
{ "Type": "UserPhoto", "UserID": "100", "Data": "/9j/4AAQSkZJRgAB..." }
]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithCard_Password_FingerPrintAndFace
RESTful APIServer → DeviceRegisters a user with card, password, fingerprint, and face — four templates.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [
{ "Type": "Card", "UserID": "100", "Data": "102836" },
{ "Type": "Password", "UserID": "100", "Data": "123456" },
{ "Type": "Fingerprint", "UserID": "100", "Size": "1176", "Index": "0", "Data": "TW9TUzIxAAAELC4E..." },
{ "Type": "Face", "UserID": "100", "Size": "25072", "Index": "0", "Data": "/9j/4AAQSkZJRgAB..." }
]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithCard_Password_PalmAndUserPhoto
RESTful APIServer → DeviceRegisters a user with card, password, palm vein, and profile photo — four templates.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [
{ "Type": "Card", "UserID": "100", "Data": "102836" },
{ "Type": "Password", "UserID": "100", "Data": "123456" },
{ "Type": "Palm", "UserID": "100", "Index": "0", "Data": "apUBEOAHv98IAAwA..." },
{ "Type": "UserPhoto", "UserID": "100", "Data": "/9j/4AAQSkZJRgAB..." }
]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithCard_FingerPrint_Password_Face_PalmAndUserPhoto
RESTful APIServer → DeviceRegisters a user with all six credential types — card, fingerprint, password, face, palm, and profile photo.
{
"Add": {
"User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
"Template": [
{ "Type": "Card", "UserID": "100", "Data": "102836" },
{ "Type": "Password", "UserID": "100", "Data": "123456" },
{ "Type": "Fingerprint", "UserID": "100", "Size": "1176", "Index": "0", "Data": "TW9TUzIxAAAELC4E..." },
{ "Type": "Face", "UserID": "100", "Size": "25072", "Index": "0", "Data": "/9j/4AAQSkZJRgAB..." },
{ "Type": "Palm", "UserID": "100", "Index": "0", "Data": "apUBEOAHv98IAAwA..." },
{ "Type": "UserPhoto", "UserID": "100", "Data": "/9j/4AAQSkZJRgAB..." }
]
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }AddUserWithoutTemplate
RESTful APIServer → DeviceCreates a user record on the device with no biometric data. Useful to pre-register before enrolling templates separately.
{
"Add": {
"User": { "UserID": "1", "FirstName": "Manu", "LastName": "Mona", "UserType": "User" }
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }DeleteUser
RESTful APIServer → DeviceDeletes a specific user and all their biometric templates from the device.
{
"Delete": { "User": { "UserID": "User123" } },
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-11 16:15:31 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }DeleteAllUser
RESTful APIServer → DeviceDeletes all users and their biometric templates from the device. Irreversible.
{
"Delete": { "User": "All" },
"OperationID": "j95xfejt3vr1",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }DeleteLogAll
RESTful APIServer → DeviceClears all attendance punch logs from the device. User records and templates are not affected.
{
"Delete": { "Log": "All" },
"OperationID": "j95xfejt3vr1",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }DeleteAttendancePhoto
RESTful APIServer → DeviceDeletes all punch photos stored on the device. Applies to devices with photo capture capability.
{
"Delete": { "PunchPhoto": "All" },
"OperationID": "j95xfejt3vr1",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }ResendAttendance
RESTful APIServer → DeviceInstructs the device to re-push attendance logs within a time range to your server via Callback. Useful for recovering missed records.
{
"OperationID": "j95xfejt3vr1",
"Resend": {
"PunchLog": {
"Filter": {
"StartTime": "2020-09-17 15:49:33 GMT +0530",
"EndTime": "2020-09-17 16:20:33 GMT +0530"
}
}
},
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }ResendAllUser
RESTful APIServer → DeviceInstructs the device to re-push all registered user data (profiles and templates) to your server via Callback.
{
"OperationID": "j95xfejt3vr1",
"Resend": { "User": "All" },
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }EnrollFingerPrint
RESTful APIServer → DeviceTriggers the device to start an on-device fingerprint enrollment session. The user must be physically present at the device.
{
"Enroll": {
"User": { "UserID": "3", "Type": "Fingerprint", "FirstName": "Rajesh", "LastName": "Ragavendhar" }
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2025-09-25 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }UpdateAccessTime
RESTful APIServer → DeviceSets a time-bound access window for a user. The user can only authenticate within the specified start–end range.
{
"Update": {
"AccessTime": { "UserID": "20", "Start": "2022-07-11 00:00:00", "End": "2022-07-11 23:59:59" }
},
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-11 16:39:29 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }EnableUser
RESTful APIServer → DeviceRe-enables a previously disabled user, restoring their ability to authenticate on the device.
{
"Update": { "User": { "UserID": "1", "Access": "enable" } },
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }DisableUser
RESTful APIServer → DeviceDisables a user without deleting them. Record and templates are kept but authentication is blocked until re-enabled.
{
"Update": { "User": { "UserID": "1", "Access": "disable" } },
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 11:09:09 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }