WebClock API Documentation
Webclock API overview information, please access the latest documentation below.
Current Version: 01.00
Last Active Version: 00.00
Using the WebClock API to Retrieve data from WebClock
General instructions for calling an end point
General Information
WebClock has several published API functions to allow authorized external users to retrieve data from WebClock.
These are RESTful API’s which return data in JSON format. WebClock does not support XML data formats through the API.
General instructions for calling an end point
To retrieve credentials to access the API you will need to have an active WebClock account or be given permission from an active WebClock account. You will then need to reach out to WebClock Support to receive a Client ID, Username, and Password to access the API.
The client ID can be found in an active site by logging in and navigating to the dashboard. If assistance is needed in finding the client ID you can reach out to WebClock support.
Beginning with Version 01.00, the version number must be included in call urls.
GET End Points
Calling the API end points is done via an http call formatted as follows, with the # portion being the version number. For example, version 01.00 is WebClock_Data_0100/.
http://www.itcs-webclock.com/rest/WebClock_Data_####/[endpoint]
Parameters belong in the header. Parameters are:
tc_Client=[ClientID]
username=[username]
password=[password]
Additional parameters may be needed for some requests as specified below.
* Original release of API GET requests included all parameters as part of the URL. Call format also did not include the version number. This method will be fully retired in the near future. All requests now and going forward include parameters in the request header as well as the release version as specified above.
This call will return as JSON structure with an array of fields for the appropriate function as defined below.
Note that this is only for GET methods, not PUT. PUT methods require two calls to the API, first a call to the Login endpoint and then a call to the actual PUT endpoint. See separate instructions in the following section on using these endpoints.
EmployeeData
This call has no additional parameters, it simply retrieves all employees defined in WebClock regardless of status.
Returns serialized array 1-n of:
tc_Client – Alpha up to 50
EmpID – Integer
ExternalID – Alpha up to 50
Employee – Alpha up to 75, may include commas or other special
PayGroup – Alpha up to 50
Dept – Alpha up to 100
EmpType – ‘Hourly’, ‘Salary’, or ‘Contract’
Hire_Date – date format MM/DD/YYYY
Term_Date – date format MM/DD/YYYY
Updated – date format MM/DD/YYYY
JobCode – Alpha up to 255
OT_Type – ‘Weekly’ or ‘Daily’
OT_Parm – integer with number of hours to exceed for OT (Weekly/Daily)
EmpHome – Alpha formatted as phone number up to 20
PayRate - Decimal
TimeZone – ‘EASTERN’, ‘CENTRAL’, ‘MOUNTAIN’, ‘PACIFIC’ or ‘DST +/-‘
Email - Alpha up to 250
TimeClock
This call has additional parameters:
Startdate=mm/dd/yyyy
Enddate=mm/dd/yyyy
Returns serialized array 1-n of:
Supervisor – alpha up to 100
StartTimeAct – date/time MM/DD/YYYY HH:MM:SS am/pm
StartTimeRnd – date/time MM/DD/YYYY HH:MM:SS am/pm
LunchTimeOutAct – date/time MM/DD/YYYY HH:MM:SS am/pm
LunchTimeOutRnd – date/time MM/DD/YYYY HH:MM:SS am/pm
LunchTimeInAct – date/time MM/DD/YYYY HH:MM:SS am/pm
LunchTimeInRnd – date/time MM/DD/YYYY HH:MM:SS am/pm
EndTimeAct – date/time MM/DD/YYYY HH:MM:SS am/pm
EndTimeRnd – date/time MM/DD/YYYY HH:MM:SS am/pm
Hours - Decimal
RegHours - Decimal
OTHours - Decimal
OtherHours - Decimal
Misc02 – this is LOCATION data, alpha up to 100
Client – alpha up to 255
Task – alpha up to 255
Job_Assignment_ID – alpha up to 255
MgrApproved – alpha up to 50
TimeApproved – alpha up to 50
ShiftDate – date MM/DD/YYYY
PayCode – alpha up to 50
TimeSheetData
This call has additional parameters:
Startdate=mm/dd/yyyy
Enddate=mm/dd/yyyy
Returns serialized array 1-n of:
tc_Client – Alpha up to 50
EmpID – Integer
Employee – Alpha up to 75, may include commas or other special
PayGroup – Alpha up to 50
PayPeriod - integer
Source – one of AUTOENTRY, AUTOMATED, DEVICE, ENTHOURS, GRIDENTRY, INTERFACE, KEYED, ONLINE, PTO_ONLY, PUNCH
Supervisor – alpha up to 100
ForceOT – 1 if true 0 if not
ForceDT – 1 if true 0 if not
PayWeek – integer 1 or 2, always 1 if semi-monthly
Lock – either blank or one of N-M, Y-A, Y-H, Y-S
RecType – blank if worked record otherwise one of TCS-Holiday, TCS-NoCharge
RecDesc – date MM/DD/YYYY
Client – alpha up to 255
Task – alpha up to 255
Cost_Center – not actually used, always blank or 0
Paid – 1 if paid, 0 if not
tc_tbl_ShiftDef – integer value 1 - 6
Misc05 – alpha up to 50 (piecework counts)
Misc01 – alpha up to 50 (relational to time off, not really useful to external)
Misc02 – alpha up to 50 (location)
StartTimeAct – date/time MM/DD/YYYY HH:MM:SS am/pm
StartTimeRnd – date/time MM/DD/YYYY HH:MM:SS am/pm
LunchTimeOutAct – date/time MM/DD/YYYY HH:MM:SS am/pm
LunchTimeOutRnd – date/time MM/DD/YYYY HH:MM:SS am/pm
LunchTimeInAct – date/time MM/DD/YYYY HH:MM:SS am/pm
LunchTimeInRnd – date/time MM/DD/YYYY HH:MM:SS am/pm
EndTimeAct – date/time MM/DD/YYYY HH:MM:SS am/pm
EndTimeRnd – date/time MM/DD/YYYY HH:MM:SS am/pm
PayCode – alpha up to 50
Reason – alpha up to 255
Updated – date/time MM/DD/YYYY HH:MM:SS am/pm
Hours – decimal
regWrkHol_Hr - decimal
regWrkNoHol_Hr - decimal
wrkHol_Hr - decimal
benHol_Hr - decimal
TimeApproved – alpha up to 50
MgrApproved – alpha up to 50
EmpApprDate – date/time MM/DD/YYYY HH:MM:SS am/pm
MgrApprName – alpha up to 50
MgrApprDate – date/time MM/DD/YYYY HH:MM:SS am/pm
EmpType1 – ‘Hourly’, ‘Salary’, or ‘Contract’
OT_Type – ‘Weekly’ or ‘Daily’
OT_Parm – integer with number of hours to exceed for OT (Weekly/Daily)
WeeklyOT – integer with number of Weekly hours to exceed for OT (Daily only)
ShiftDef – alpha up to 1, shift ID number (1, 2, 3, 4, 5, 6)
OT_Comp – Comptime or Overtime, determines whether OT is paid or sent directly to Accrued PTO
Request_Status – alpha up to 100 – long name of time off type, blank if worked
HolHour – decimal – hours worked on a holiday
Shift_Date - date MM/DD/YYYY
WeekTot – decimal – total hours worked in the week
WeekHolWrk – decimal – total hours worked on a holiday within the week
WeekBenHrs – decimal – total non-worked hours (PTO)
sum_Hours – decimal total hours
WeekOT – decimal – total OT hours on weekly basis
WeekShift1 – decimal – hours worked shift 1 in the week
WeekShift2 - decimal – hours worked shift 2 in the week
WeekShift3 - decimal – hours worked shift 3 in the week
WeekShift4 - decimal – hours worked shift 4 in the week
WeekShift5 - decimal – hours worked shift 5 in the week
DailyHours – decimal, this is the number of hours normally scheduled for a day
TimeOffData
This call has additional parameters:
Startdate=mm/dd/yyyy
Enddate=mm/dd/yyyy
This call also has two additional optional parameters:
Status – filters the results by status of request, defaults to ALL, may use Approved, Open, Rejected
Getempid – filters for the selected WebClock EmpID.
Returns serialized array 1-n of:
tc_Client – Alpha up to 50
EmpID – integer
ExternalID – Alpha up to 50
Employee – Alpha up to 75, may include commas or other special
Dept – Alpha up to 100
Request_Date – date/time MM/DD/YYYY HH:MM:SS am/pm
Update_Date – date/time MM/DD/YYYY HH:MM:SS am/pm
Request_Status – Alpha up to 100, Approved / Open / Rejected
Paid – integer 1 means paid request 0 means unpaid
Request_Type – Alpha up to 100
Hours – Decimal (8,2)
Location – Alpha up to 50
Client – Alpha up to 50
Task – Alpha up to 100
Job_ID – Alpha up to 50
LastUpdatedBy – Alpha up to 75
WhosInOut
Parameters (send in the header):
Username – required – nvarchar(50).
Password – required – nvarchar(50).
tc_Client – required – nvarchar(50).
access_authority – optional, nvarchar(50) - if left blank will assume “ALL”.
Returns:
Success (Yes or No).
Error (if Success is Yes, the will be “No Error”, otherwise the error message).
NumRecs (if Success is Yes, the number of records received, otherwise 0).
access_authority – the string passed to the function for access_authority.
access_filter – the filter string calculated based on the access_authority passed to the function.
Array 1-numrecs of records with the following fields:
Employee – nvarchar(100)
EmployeeID - integer
Supervisor - nvarchar(75)
PayGroup - nvarchar(20)
PayType - nvarchar(10)
PunchMethod – nvarchar(20)
LastOut – date/time
LastIn – date/time
CurrentStatus – integer (1 for in, 2 for out)
Activity
TimeOff
License
Parameters (send in the header):
Username – required – nvarchar(50).
Password – required – nvarchar(50).
Tc_Client – required – nvarchar(50).
Returns:
Success (Yes or No).
Error (if Success is Yes, the will be “No Error”, otherwise the error message).
NumRecs (if Success is Yes, the number of records received, otherwise 0).
Array 1-numrecs of records with the following fields:
tc_Client – nvarchar(50)
LicenseCount – integer
ActiveUsers – integer
TimeSummaryData
Parameters (send in the header):
Username – required – nvarchar(50).
Password – required – nvarchar(50).
Tc_Client – required – nvarchar(50).
startDate – required (mm/dd/yyyy).
endDate - required (mm/dd/yyyy hh:mm:ss tt).
access_authority – optional, nvarchar(50) - if left blank will assume “ALL”
period – optional WEEKLY/MONTHLY/NONE.
Groupby – optional DEPARTMENT/NONE.
Returns:
Success (Yes or No).
Error (if Success is Yes, the will be “No Error”, otherwise the error message).
NumRecs (if Success is Yes, the number of records received, otherwise 0).
access_authority – the string passed to the function for access_authority.
access_filter – the filter string calculated based on the access_authority passed to the function.
Array 1-numrecs of records with the following fields:
tc_Client – nvarchar(50)
Department – nvarchar(150)
PeriodStart – mm/dd/yyyy
PeriodEnd – mm/dd/yyyy
ttlHours - float
If groupby is NONE, the Department column will show “AllDepts”
If period is NONE, the ttlHours column will show all hours for the entire period from startdate to enddate
If period is DAILY, periodstart and periodend will show each day between/including the dates with associated total hours.
If period is WEEKLY, periodstart and periodend will show the start/end date of the week with associated total hours
If period is MONTHLY, periodstart and periodend will show the start/end date of the month with associated total hours.
Anomaly
Parameters (send in the header):
Username – required – nvarchar(50).
Password – required – nvarchar(50).
Tc_Client – required – nvarchar(50).
startDate – required (mm/dd/yyyy).
endDate - required (mm/dd/yyyy hh:mm:ss tt).
access_authority – optional, nvarchar(50) - if left blank will assume “ALL”
Returns:
Success (Yes or No).
Error (if Success is Yes, this will be empty, otherwise the error message).
NumRecs (if Success is Yes, the number of records received, otherwise 0).
access_authority – the string passed to the function for access_authority.
access_filter – the filter string calculated based on the access_authority passed to the function.
Array 1-numrecs of records with the following fields:
tc_Client – nvarchar(50)
EmpID - integer
EmployeeName - nvarchar(250)
Supervisor - nvarchar(150)
ShiftDate – mm/dd/yyyy
ShiftStart – mm/dd/yyyy hh:mm:ss tt
BreakOut – mm/dd/yyyy hh:mm:ss tt
Breakin – mm/dd/yyyy hh:mm:ss tt
ShiftEnd – mm/dd/yyyy hh:mm:ss tt
ErrorType – nvarchar(50)
Hours - float
TimeOffDataAll
Parameters (send in the header):
Username – required – nvarchar(50).
Password – required – nvarchar(50).
tc_Client – required – nvarchar(50).
startDate – required (mm/dd/yyyy).
endDate - required (mm/dd/yyyy hh:mm:ss tt).
access_authority – optional, nvarchar(50) - if left blank will assume “ALL”
Returns:
Success (Yes or No).
Error (if Success is Yes, the will be “No Error”, otherwise the error message).
NumRecs (if Success is Yes, the number of records received, otherwise 0).
access_authority – the string passed to the function for access_authority.
access_filter – the filter string calculated based on the access_authority passed to the function.
Array 1-numrecs of records with the following fields:
tc_Client – nvarchar(50)
EmpID - integer
EmployeeName - nvarchar(250)
ExternalID – nvarchar(50)
Dept - nvarchar(50)
Create_Date – mm/dd/yyyy
Request_Date – mm/dd/yyyy
Update_Date – mm/dd/yyyy hh:mm:ss tt
Request_Status – nvarchar(20)
Paid - integer
Request_Type – nvarchar(50)
Hours - float
Location – nvarchar(50)
Client - nvarchar(50)
Task - nvarchar(150)
Job_ID - nvarchar(50)
LastUpdatedBy - nvarchar(10)
HRCerts
Parameters (send in the header):
Username – required – nvarchar(50).
Password – required – nvarchar(50).
Tc_Client – required – nvarchar(50).
Returns:
Success (Yes or No).
Error (if Success is Yes, the will be “No Error”, otherwise the error message).
NumRecs (if Success is Yes, the number of records received, otherwise 0).
Array 1-numrecs of records with the following fields:
tc_Client - nvarchar(50)
EmployeeID - integer
ClassDescription - nvarchar(100)
Certification - nvarchar(100)
Credits - real
Institution - nvarchar(200)
Instructor - nvarchar(100)
CompanySponsored - bit
CompanyReimbursed - bit
Amount - real
DateCompleted - mm/dd/yyyy
Notes - nvarchar(200)
AccrualBalance
Parameters (send in the header):
Username – required – nvarchar(50).
Password – required – nvarchar(50).
tc_Client – required – nvarchar(50).
Returns:
Success (Yes or No).
Error (if Success is Yes, the will be “No Error”, otherwise the error message).
NumRecs (if Success is Yes, the number of records received, otherwise 0).
Array 1-numrecs of records with the following fields:
ClientID - nvarchar(50)
EmpID - integer
EmpStatus - nvarchar(50)
AccrualType - nvarchar(50)
Balance - float
Login
This endpoint returns a token required for 2-factor authentication and is required for PUT calls. It is called differently, and the returned value will be a tokenized value that you will use in any subsequent PUT calls to authenticate. To call use:
http://www.itcs-webclock.com/rest/WebClock_Data/login
Note that no parameters are transmitted on the URL, instead you will send username and password in the header of the call.
Returns serialized array 1-1 of:
Token – Alpha between 21 and 40 characters
This token will remain valid for 30 minutes, after that you will need to re-call Login to get a new token.
PUT Endpoints
None publicly available at this time.
Release Notes:
Release 01.02
New Call - Payroll Data
Effective Apr 15 2025
Added a new call to return data formatted to be usable by payroll companies as an alternative to file uploads or manual entry. Additional info on parameters and returned data are in the primary API document.
Also enhanced the EmployeeData call to return payroll_Emptype. Only useful in some cases, contact support with any questions.
Release 01.00
API Call Uniformity Update
Effective Jan 21 2025
This update includes 2 primary changes, and sets a standard for updates going forward.
1) Updated all requests that included parameters in the URL line to instead include them in the header for security purposes.
2) Updated request path to include the API version number.
- The new request path is: http://www.itcs-webclock.com/rest/WebClock_Data_XXXX/[endpoint] with the X portion being the version number. For example, version 01.00 is WebClock_Data_0100/.
3) WebClock will keep the past 5 major releases available going forward as releases come out.
- A major release is identified by the first two numbers in the version. The latter two after the decimal are minor updates and do not count toward the 5 major release availability.
To allow time for subscribers to make these changes, the original calls prior to these changes will remain available through the next few releases and an announcement will be posted prior to their retirement.
Release 00.02
Accrual Balance API Call
Effective Oct 31 2024
Added a new call to return Accrual Balance information. Call parameters must be included in the header. Additional information on this call is in the primary API document.
Release 00.01
API EmployeeData Email Update
Effective Jul 27 2024
Added an Email return to this call.
Release 00.00
Base API Release
Effective Mar 22 2021
Version 0 of the WebClock API does not require specifying the version being called. Most calls in this original release are formatted the same, with exceptions noted in the primary document.
Request format: http://www.itcs-webclock.com/rest/WebClock_Data/[endpoint]?[parameters]
parameters are: tc_Client=[ClientID]
&username=[username]
&password=[password]
&additionalparamx=[paramvalue] (repeat as needed for additional parameters)
Get Started Today
Discover how ITCS-WebClock can streamline your time and attendance management. Save time, reduce costs, and stay compliant with our powerful yet easy-to-use solutions.
