API Response Data Format

Integrate biometric hardware seamlessly. Our server requires standard JSON responses to acknowledge data reception and prevent redundant retries.

Acknowledgment Protocol

If the expected "1" status is not returned, the MinopCloud API will retry the request at escalating intervals. To ensure system stability and prevent duplicate logs, your server must respond with the following JSON:

Expected Response Format

                
        {
                "status": "1"
        }
    

API Command List & Data Structures

1. Receive Real-Time Attendance ( On request)

Minop pushes this payload to your server immediately upon user verification. This allows for real-time monitoring and instant payroll/entry updates.

Payload Example:

                
                    {
                "RealTime": 
                        {
                "AuthToken": "UUID_STRING",
                "OperationID": "INT_ID",
                "PunchLog": 
                            {
                "FaceMask": false,
                "InputType": "Face",
                "LogTime": "2026-01-08T11:09:09Z",
                "Temperature": 36.5,
                "Type": "CheckIn",
                "UserId": "EMP_001"
                            },
                "Time": "2026-01-08T11:09:10Z"
                        }
                    }
                    
                

Field Descriptions:

UserID

Unique identifier for the employee/user.

LogTime

Timestamp of the punch event in UTC.

Type

Enum: CheckIn, CheckOut, BreakIn, BreakOut, etc.

InputType

Enum: Fingerprint, Face, Card, Palm, etc.

Temperature

User's body temperature (Nullable, if device supported).

FaceMask

Mask detection status (If device supported).

Note:

Custom APIs can be developed on a chargeable basis. For detailed requirements, feasibility, and pricing, please connect with our sales team for further clarification.


2. Add User / Biometric Template ( On Request)

Used to push new user credentials or biometric data from your ERP/HRMS to the hardware.

Payload Example (Add User with Template):

                
                        {
                "Add": 
                            {
                "User": 
                                {
                "FirstName": "John",
                "LastName": "Doe",
                "UserID": "EMP_001",
                "UserType": "User"
                                },
                "Template": 
                                [{
                "Data": "BASE64_ENCODED_STRING",
                "Type": "Fingerprint",
                "Index": "0"
                                }]
                            },
                "AuthToken": "UUID_STRING",
                "OperationID": "INT_ID"
                        }
                    
                

Note:

Custom APIs can be developed on a chargeable basis. For detailed requirements, feasibility, and pricing, please connect with our sales team for further clarification.


3. Add User Photo

Payload Example:

                
                        {
                "Add": 
                            {
                "Photo": 
                                {
                "Data": "",
                "Size": "",
                "Type": "",
                "UserID": ""
                                }
                            },
                "AuthToken": "",
                "OperationID": "",
                "Time": ""
                        }
                    
                

Field Descriptions:

Type:

"Base64"

Data:

Photo content in Base64 (png/jpeg)


4. Manual User or Template Update

When a user or template is manually added/updated on a device, a payload is posted to your server with updated details:

User Update Example:

                
                    {
                "RealTime": 
                        {
                "AuthToken": "",
                "OperationID": "",
                "Time": "",
                "UserUpdated": 
                            {
                "FirstName": "",
                "LastName": "",
                "OperationTime": "",
                "Template": [{}],
                "UserID": "",
                "UserType": ""
                            }
                        }
                    }
                    
                

Template Update Example:

                
                    {
                "RealTime": 
                        {
                "AuthToken": "",
                "OperationID": "",
                "Time": "",
                "UserUpdated": 
                            {
                "OperationTime": "",
                "Template": 
                                [{
                "Data": "",
                "Index": "0",
                "Size": "",
                "Type": "",
                "UserID": ""
                                }]
                            }
                        }
                    }
                    
                

Note:

For face, up to 10–15 template objects may be sent separately for each registration.


5. Delete User

Payload Example:

                
                    {
                "AuthToken": "",
                "Delete": 
                        {
                "User": 
                            {
                "UserID": ""
                            }
                        },
                "OperationID": "",
                "Time": ""
                    }
                    
                

Field Descriptions:

UserID:

ID of the user to delete


6. Delete All Users

Payload Example:

                
                    {
                "AuthToken": "",
                "Delete": 
                        {
                "User": "All"
                        },
                "OperationID": "",
                "Time": ""
                    }
                    
                

Field Descriptions:

Deletes:

All users on the device


8. Load Attendance Logs

Payload Example:

                
                    {
                "Load": 
                        {
                "PunchLog": 
                            {
                "Filter": 
                                {
                "StartTime": "",
                "EndTime": "",
                "OffSet": "0"
                                }
                            }
                        }
                    }
                    
                

Field Descriptions:

StartTime/EndTime:

Date range in "YYYY-MM-DD HH:mm:SS GMT +TZ" format.

OffSet:

Defaults to 0. If >50 records, use offset to page through results.

Note:

Only data from the last 30 days can be retrieved. Bulk log retrieval is disabled by default; consult technical support before use in ERP integrations.


RESTful API Response Format

Every RESTful API call receives a standard response:

                
                    {
                "OperationID": "",
                "Status": "done",
                "StatusCode": 0
                    }
                    
                

Field Descriptions:

Status:

"done" if successful

StatusCode:

0 = Success

1 = Invalid Request Data

2 = Invalid Service Tag ID

3 = Invalid Origin IP

4 = Invalid Encryption

5 = Invalid Subscription

6 = Invalid Operation

7 = Invalid Auth Token

8 = Invalid Operation Type

9 = Invalid Start Time

10 = Invalid User ID

11 = Invalid API Configuration

13 = Invalid Security Key

15 = Invalid Template

999 = Unknown Error

Ports & Callback URLs

Real-Time Data Integration Port

Real-Time Data: Bind your callback URL to Port 80 and expose an HTTP endpoint.

Secure HTTPS Production Port

Production: Use a valid SSL certificate for HTTPS on the standard port.

Sandbox Testing Port Configuration

Sandbox Testing: Port 8123 can be utilized for temporary testing environments.

Make Your Payroll Onboarding Process Smarter and Efficient.