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 Information

General instructions for calling an end point

GET End Points

EmployeeData

TimeClock

TimeSheetData

TimeOffData

WhosInOut

License

TimeSummaryData

Anomaly

TimeOffDataAll

HRCerts

AccrualBalance

Login

PUT Endpoints

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.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.