Get Check-In History of Users

Returns the check-in and check-out history of one or more users.

In addition to each check-in/check-out timing, you also get details such as “Source” (Web app or Mobile app), “Location”, “Latitude” and “Longitude” (for mobile app users), and “IpAddress”.

API URL

POST
https://{host}/v2/UserManagement.svc/User/GetCheckinCheckoutHistory?accessKey=AccessKey&secretKey=SecretKey
Copy URL

Request

JSON Body/Payload

Content-Type: application/json

{
    "UserAttributeType":"UserEmail",
    "Users":["bobdoe@example.com","frankdoe@example.com"],
    "FromDate":"2017-11-14 05:53:41",
    "ToDate":"2017-11-20 12:48:31",
     "Paging" : {
                        "PageIndex":1,
                        "PageSize":200
                }
}

JSON Properties

Parameter Description
UserAttributeType

The attribute you want to use to retrieve the check-in statuses of users.

  • Pass either ‘UserId’ or ‘UserEmail’ here.
Users

If you passed the ‘UserAttributeType’ as

  • ‘UserId’, pass one or more user ids here.
  • ‘UserEmail’, pass one or more user email addresses here.
FromDate

The start date to retrieve check-in history in ‘YYYY-MM-DD HH:MM:SS’ format.

Note: This parameter is mandatory.

ToDate

The end date to retrieve check-in history in ‘YYYY-MM-DD HH:MM:SS’ format.

Note: This parameter is mandatory.

Paging

Lets you customize the page settings of the response –

  • “PageIndex” – Lets you customize the number of pages.
  • “PageSize” – Lets you customize the number of records per page.

Response

200 OK

Content-Type: application/json

{
    "RecordCount": 3,
    "Details": [
        {
            "UserId": "abc1d2ef-3g0h-45i6-j0kl-07m89o1pq2r3",
            "CheckedOn": "2017-11-22 07:44:46",
            "EmailAddress": "bobdoe@example.com",
            "IsCheckIn": true,
            "Location": "Bangalore",
            "Latitude": 0,
            "Longitude": 0,
            "Source": "WebApp",
            "IpAddress": null,
            "OtherDetails": {
                "Source": "WebApp"
            }
        },
        {
            "UserId": "abc1d2ef-3g0h-45i6-j0kl-07m89o1pq2r3",
            "CheckedOn": "2017-11-22 07:44:36",
            "EmailAddress": "bobdoe@example.com",
            "IsCheckIn": false,
            "Location": "Bangalore",
            "Latitude": 0,
            "Longitude": 0,
            "Source": "WebApp",
            "IpAddress": null,
            "OtherDetails": {
                "Source": "WebApp"
            }
        },
        {
            "UserId": "stu1v2wx-3y0z-45a1-b0cd-02e34f5gh6i7",
            "CheckedOn": "2017-11-22 07:40:41",
            "EmailAddress": "frankdoe@example.com",
            "IsCheckIn": true,
            "Location": "Bangalore",
            "Latitude": 0,
            "Longitude": 0,
            "Source": "WebApp",
            "IpAddress": null,
            "OtherDetails": {
                "Source": "WebApp"
            }
        }
    ]
}

HTTP Response Code

Code Description
200 OK

This is the status code for successful API call.

401 Unauthorized

The API call was made with invalid access credentials. Check your AccessKey and SecretKey.

400 Bad Request

The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure.

404 Not Found

The API could not be found. Please check the API signature.

429 Too Many Requests

API calls exceeded the limit of 25 in 5 second(s)

500 Internal Server Error

The API called failed. There could be many reasons for it. Check the exception message to get more details.