Introduction
The TimeStation API allows you to programmatically access and modify data in your TimeStation account. The TimeStation API is organized around REST, it has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
The REST endpoint URL for the TimeStation API is:
https://api.mytimestation.com/v1.2/
Authentication
The TimeStation API uses API keys to authenticate requests. To create an API key, log in to your TimeStation account, then go to Settings > API Keys
Your API keys carry many privileges, so be sure to keep them secure! Do not share your API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
Authentication to the API is performed via HTTP Basic Auth. Provide your API key as the basic auth username value. You do not need to provide a password.
If you need to authenticate via bearer auth (e.g., for a cross-origin request), use -H "Authorization: Bearer 4uahz4f7cvj29x63ew65vw3yf9p8rpeg" instead of -u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
curl https://api.mytimestation.com/v1.2/employees \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg:
Errors
TimeStation uses conventional HTTP response codes to indicate success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that resulted from the provided information (e.g. a required parameter was missing, etc.), and codes in the 5xx range indicate an error with TimeStation's servers.
200 OK - Everything worked as expected.
400 Bad Request - Often missing a required parameter.
401 Unauthorized - No valid API key provided.
402 Request Failed - Parameters were valid but request failed.
404 Not Found - The requested item doesn't exist.
500, 502, 503, 504 Server errors - something went wrong on TimeStation's end.
Not all errors map cleanly onto HTTP response codes, however. When an error occurs and more details are available about this error, that information can be found in the JSON response body as seen in the example below:
{
"error": {
"error_code": "401",
"error_text": "Invalid API Key"
}
}
Versioning
When we make API changes that may affect compatibility with earlier versions we publish a new version of the API. This document is for API version 1.2 which is the latest version of the API. The API version is reflected in the REST endpoint URL.
You can find the documentation for previous versions of the API below:
Rate Limiting
To ensure optimal performance for all API users, there's a limit of 5,000 API requests per TimeStation account per day.
Employees
List Employees
Returns an array of all the existing employees
GEThttps://api.mytimestation.com/v1.2/employees
curl https://api.mytimestation.com/v1.2/employees \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg:
{
"employees": [
{
"employee_id": "emp_ngdzkmpmk2",
"name": "Alex Mahone",
"primary_department": "Sales",
"primary_department_id": "dpt_1x95r1zkqf",
"current_department": "Sales",
"current_department_id": "dpt_1x95r1zkqf",
"status": "in",
"custom_employee_id": "EMP-0001",
"hourly_rate": "15.00",
"pin": "1111",
"card_number": "00001",
"card_qr_code": "8101372308680381859773485135341"
},
{
"employee_id": "emp_ekj8x0q7p4",
"name": "Angela Martin",
"title": "Payroll Manager",
"primary_department": "Accounting",
"primary_department_id": "dpt_241x9xqel0",
"current_department": "Sales",
"current_department_id": "dpt_1x95r1zkqf",
"status": "out",
"custom_employee_id": "EMP-0002",
"pin": "2222",
"card_number": "00002",
"card_qr_code": "810137230868939153673412038795",
"custom_fields": {
"Phone Number": "(212) 555-1234",
"Start Date": "08/15/2023"
}
},
{
"employee_id": "emp_dp246d0wj3",
"name": "Michael Scott",
"title": "Office Boss",
"primary_department": "Management",
"primary_department_id": "dpt_rq7en39fxn",
"current_department": "Management",
"current_department_id": "dpt_rq7en39fxn",
"status": "out",
"card_number": "00003",
"card_qr_code": "8101377322767786421574045082934"
}
]
}
Single Employee
Returns the details of a single employee
GEThttps://api.mytimestation.com/v1.2/employees/{employee_id}
Parameter |
Location |
Description |
employee_id |
URL |
REQUIRED TimeStation Employee ID |
curl https://api.mytimestation.com/v1.2/employees/emp_ekj8x0q7p4 \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg:
{
"employee": {
"employee_id": "emp_ekj8x0q7p4",
"name": "Angela Martin",
"title": "Payroll Manager",
"primary_department": "Accounting",
"primary_department_id": "dpt_241x9xqel0",
"current_department": "Sales",
"current_department_id": "dpt_1x95r1zkqf",
"status": "out",
"custom_employee_id": "EMP-0002",
"pin": "2222",
"card_number": "00002",
"card_qr_code": "810137230868939153673412038795",
"custom_fields": {
"Phone Number": "(212) 555-1234",
"Start Date": "08/15/2023"
}
}
}
Create Employee
Creates a new employee.
POSThttps://api.mytimestation.com/v1.2/employees
Parameter |
Location |
Description |
name |
Body |
REQUIRED Employee Name |
department_id |
Body |
Assign employee to an exisiting primary department.
REQUIRED Either department_id or department_name must be supplied.
|
department_name |
Body |
Assign employee to a department named department_name. Will either create a new department named department_name or use an existing department if a department already exists with the name department_name.
REQUIRED Either department_id or department_name must be supplied. |
custom_employee_id |
Body |
An optional second Employee ID you can set to associate the employee with an entity in another system. |
title |
Body |
Employee Title |
hourly_rate |
Body |
Hourly Rate |
pin |
Body |
4-Digit PIN |
custom_fields[field_name] |
Body |
Set one or more employee custom fields. field_name represents the name of an existing employee custom field. |
curl https://api.mytimestation.com/v1.2/employees \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-d name="Angela Martin" \
-d department_name="Accounting" \
-d custom_employee_id="EMP-0002" \
-d title="Payroll Manager" \
-d hourly_rate="25.00" \
-d pin="2222"
-d custom_fields[Phone Number]="(212) 555-1234"
-d custom_fields[Start Date]="08/15/2023"
{
"employee": {
"employee_id": "emp_ekj8x0q7p4"
}
}
Update Employee
Updates an existing employee using the fields provided.
Note: Please be careful when updating an employee, as the existing employee will be replaced by the request body.
Any fields not provided will be cleared.
PUThttps://api.mytimestation.com/v1.2/employees/{employee_id}
Parameter |
Location |
Description |
employee_id |
URL |
REQUIRED TimeStation Employee ID |
name |
Body |
REQUIRED Employee Name |
department_id |
Body |
Assign employee to an exisiting primary department.
REQUIRED Either department_id or department_name must be supplied.
|
department_name |
Body |
Assign employee to a department named department_name. Will either create a new department named department_name or use an existing department if a department already exists with the name department_name.
REQUIRED Either department_id or department_name must be supplied. |
custom_employee_id |
Body |
An optional second Employee ID you can set to associate the employee with an entity in another system. |
title |
Body |
Employee Title |
hourly_rate |
Body |
Hourly Rate |
pin |
Body |
4-Digit PIN |
custom_fields[field_name] |
Body |
Set one or more employee custom fields. field_name represents the name of an existing employee custom field. |
convert_primary_department |
Query String |
If set to true and the primary department is changed, the previous primary department will be kept as a secondary department. This parameter only applies to the current API request. |
curl https://api.mytimestation.com/v1.2/employees/emp_ekj8x0q7p4 \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-d name="Angela Martin" \
-d department_name="Accounting" \
-d custom_employee_id="EMP-0002" \
-d title="Payroll Manager" \
-d hourly_rate="25.00" \
-d pin="2222" \
-d custom_fields[Phone Number]="(212) 555-1234"
-d custom_fields[Start Date]="08/15/2023"
-X PUT
{
"employee": {
"employee_id": "emp_ekj8x0q7p4"
}
}
Check-Out Employee
Closes the current open shift for an employee
PUThttps://api.mytimestation.com/v1.2/employees/{employee_id}/check-out
Parameter |
Location |
Description |
employee_id |
URL |
REQUIRED TimeStation Employee ID |
time_out |
Body |
Optional check-out date & time. If ommited, the shift is closed at the current time, using the UTC offset from the associated check-in.
Format: ISO-8601 with UTC offset (YYYY-MM-DDTHH:MM:SSZ) |
notes |
Body |
Notes |
time_deduction_minutes |
Body |
Number of minutes to deduct from the shift. Overrides the automatic time deduction rules for this shift. |
curl https://api.mytimestation.com/v1.2/employees/emp_ekj8x0q7p4/check-out \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-d time_out="2023-07-12T17:00-05:00" \
{
"employee": {
"employee_id": "emp_ekj8x0q7p4"
}
}
Delete Employee
Deletes an existing employee
DELETEhttps://api.mytimestation.com/v1.2/employees/{employee_id}
Parameter |
Location |
Description |
employee_id |
URL |
REQUIRED TimeStation Employee ID |
curl https://api.mytimestation.com/v1.2/employees/emp_ekj8x0q7p4 \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-X DELETE
{
"employee": {
"employee_id": "emp_ekj8x0q7p4"
}
}
List Employee Departments
Returns all the departments assigned to an employee
GEThttps://api.mytimestation.com/v1.2/employees/{employee_id}/departments
Parameter |
Location |
Description |
employee_id |
URL |
REQUIRED TimeStation Employee ID |
curl https://api.mytimestation.com/v1.2/employees/emp_ekj8x0q7p4/departments \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg:
{
"employee_id": "emp_ekj8x0q7p4",
"name": "Angela Martin",
"departments": [
{
"department_id": "dpt_241x9xqel0",
"name": "Accounting",
"hourly_rate": "25.00",
"is_primary": "true"
},
{
"department_id": "dpt_1x95r1zkqf",
"name": "Sales",
"is_primary": "false"
}
]
}
Add Employee to Department
Adds an employee to an existing department.
Note: If employee_id is already a member of department_id, this method can be used to update the employee's hourly_rate and is_primary for the department.
POSThttps://api.mytimestation.com/v1.2/employees/{employee_id}/departments
Parameter |
Location |
Description |
employee_id |
URL |
REQUIRED TimeStation Employee ID |
department_id |
Body |
REQUIRED Department that the employee should be assigned to |
hourly_rate |
Body |
An optional employee hourly rate for this department |
is_primary |
Body |
Whether this department is a primary department for the employee |
curl https://api.mytimestation.com/v1.2/employees/emp_ekj8x0q7p4/departments \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-d department_id=dpt_1x95r1zkqf \
-d hourly_rate="25.00" \
-d is_primary="false"
{
"employee": {
"employee_id": "emp_ekj8x0q7p4"
}
}
Remove Employee from Department
Removes an employee from a department.
Note: Before removing an employee from their primary department, another department must be set as primary.
DELETEhttps://api.mytimestation.com/v1.2/employees/{employee_id}/departments/{department_id}
Parameter |
Location |
Description |
employee_id |
URL |
REQUIRED TimeStation Employee ID |
department_id |
URL |
REQUIRED TimeStation Department ID |
curl https://api.mytimestation.com/v1.2/employees/emp_ekj8x0q7p4/departments/dpt_1x95r1zkqf \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-X DELETE
{
"employee": {
"employee_id": "emp_ekj8x0q7p4"
}
}
Departments
List Departments
Returns an array of all the existing departments
GEThttps://api.mytimestation.com/v1.2/departments
curl https://api.mytimestation.com/v1.2/departments \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg:
{
"departments": [
{
"department_id": "dpt_241x9xqel0",
"name": "Accounting",
"type": "Department",
"employees_total": "2",
"employees_primary": "2",
"employees_in": "0"
},
{
"department_id": "dpt_1x95r1zkqf",
"name": "Sales",
"type": "Department",
"employees_total": "5",
"employees_primary": "4",
"employees_in": "1"
},
{
"department_id": "dpt_rq7en39fxn",
"name": "Management",
"type": "Department",
"employees_total": "1",
"employees_primary": "1",
"employees_in": "0"
}
]
}
Single Department
Returns the details of a single department
GEThttps://api.mytimestation.com/v1.2/departments/{department_id}
Parameter |
Location |
Description |
department_id |
URL |
REQUIRED TimeStation Department ID |
curl https://api.mytimestation.com/v1.2/departments/dpt_1x95r1zkqf \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg:
{
"department": {
"department_id": "dpt_1x95r1zkqf",
"name": "Sales",
"type": "Department",
"employees_total": "5",
"employees_primary": "4",
"employees_in": "1"
}
}
Create Department
Creates a new department.
POSThttps://api.mytimestation.com/v1.2/departments
Parameter |
Location |
Description |
name |
Body |
REQUIRED Department Name |
curl https://api.mytimestation.com/v1.2/departments \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-d name="Sales"
{
"department": {
"department_id": "dpt_1x95r1zkqf"
}
}
Update Department
Updates an existing department using the fields provided.
Note: Please be careful when updating a department, as the existing department will be replaced by the request body.
Any fields not provided will be cleared.
PUThttps://api.mytimestation.com/v1.2/departments/{department_id}
Parameter |
Location |
Description |
department_id |
URL |
REQUIRED TimeStation Department ID |
curl https://api.mytimestation.com/v1.2/departments/dpt_1x95r1zkqf \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-d name="Sales" \
-X PUT
{
"department": {
"department_id": "dpt_1x95r1zkqf"
}
}
Delete Department
Deletes an existing department.
DELETEhttps://api.mytimestation.com/v1.2/departments/{department_id}
Parameter |
Location |
Description |
department_id |
URL |
REQUIRED TimeStation Department ID |
curl https://api.mytimestation.com/v1.2/departments/dpt_1x95r1zkqf \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-X DELETE
{
"department": {
"department_id": "dpt_1x95r1zkqf"
}
}
Shifts
A shift is a record of the start and end times for a single work shift for an employee. Each shift is associated with a department and may include a time deduction for breaks. Employees can have multiple shifts throughout the day.
List Shifts
Returns an array of the last 2,000 shifts for an employee between start_date and end_date
Note:total_minutes represents the calculated length of the shift based on any time-rounding rules defined in the account.
GEThttps://api.mytimestation.com/v1.2/shifts
Parameter |
Location |
Description |
employee_id |
Query String |
REQUIRED TimeStation Employee ID |
start_date |
Query String |
Start Date
Format: ISO-8601 (YYYY-MM-DD) |
end_date |
Query String |
End Date
Format: ISO-8601 (YYYY-MM-DD) |
curl https://api.mytimestation.com/v1.2/shifts?employee_id=emp_ekj8x0q7p4&start_date=2023-07-01&end_date=2023-07-15 \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg:
{
"shifts": [
{
"shift_id": "shft_rgnw7mr7q2",
"employee_id": "emp_ekj8x0q7p4",
"department_id": "dpt_1x95r1zkqf",
"total_minutes": "480",
"notes": "User forgot to check-in",
"in": {
"time": "2023-07-12T09:00:00-05:00",
"device": "TimeStation-05",
"location": {
"coordinates": {
"latitude": "40.723017",
"longitude": "-73.999116"
}
}
},
"out": {
"time": "2023-07-12T17:00:00-05:00",
"device": "TimeStation-05",
"location": {
"coordinates": {
"latitude": "40.723017",
"longitude": "-73.999116"
}
}
}
},
{
"shift_id": "shft_8ovv567xl0",
"employee_id": "emp_ekj8x0q7p4",
"department_id": "dpt_1x95r1zkqf",
"total_minutes": "195",
"in": {
"time": "2023-07-10T19:15:00-05:00"
},
"out": {
"time": "2023-07-10T22:30:00-05:00"
}
},
{
"shift_id": "shft_0266lnv6er",
"employee_id": "emp_ekj8x0q7p4",
"department_id": "dpt_1x95r1zkqf",
"total_minutes": "384",
"in": {
"time": "2023-07-06T08:05:15-05:00",
"device": "TimeStation-05",
"location": {
"coordinates": {
"latitude": "40.723017",
"longitude": "-73.999116"
}
}
},
"out": {
"time": "2023-07-10T14:29:03-05:00",
"device": "TimeStation-05",
"location": {
"coordinates": {
"latitude": "40.723017",
"longitude": "-73.999116"
}
}
}
}
]
}
Single Shift
Returns the details of a single shift
Note: total_minutes represents the calculated length of the shift based on any time-rounding rules defined in the account.
GEThttps://api.mytimestation.com/v1.2/shifts/{shift_id}
Parameter |
Location |
Description |
shift_id |
URL |
REQUIRED TimeStation Shift ID |
curl https://api.mytimestation.com/v1.2/shifts/shft_rgnw7mr7q2 \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg:
{
"shift": {
"shift_id": "shft_rgnw7mr7q2",
"employee_id": "emp_ekj8x0q7p4",
"department_id": "dpt_1x95r1zkqf",
"total_minutes": "480",
"in": {
"time": "2023-07-12T09:00:00-05:00",
"device": "TimeStation-05",
"location": {
"coordinates": {
"latitude": "40.723017",
"longitude": "-73.999116"
}
}
},
"out": {
"time": "2023-07-10T17:00:00-05:00",
"device": "TimeStation-05",
"location": {
"coordinates": {
"latitude": "40.723017",
"longitude": "-73.999116"
}
}
}
}
}
Create Shift
Creates a new shift.
POSThttps://api.mytimestation.com/v1.2/shifts
Parameter |
Location |
Description |
employee_id |
Body |
REQUIRED TimeStation Employee ID |
department_id |
Body |
REQUIRED TimeStation Department ID |
time_in |
Body |
REQUIRED Check-in date & time
Format: ISO-8601 with UTC offset (YYYY-MM-DDTHH:MM:SSZ) |
time_out |
Body |
Check-out date & time. If ommited, an open shift is created.
Format: ISO-8601 with UTC offset (YYYY-MM-DDTHH:MM:SSZ)
|
notes |
Body |
Notes |
time_deduction_minutes |
Body |
Number of minutes to deduct from the shift. Overrides the automatic time deduction rules for this shift. |
curl https://api.mytimestation.com/v1.2/shifts \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-d employee_id="emp_ekj8x0q7p4" \
-d department_id="dpt_1x95r1zkqf" \
-d time_in="2023-07-12T09:00-05:00" \
-d time_out="2023-07-12T17:00-05:00" \
-d notes="User forgot to check-in" \
{
"shift": {
"shift_id": "shft_rgnw7mr7q2"
}
}
Update Shift
Updates an existing shift using the fields provided.
Note: Please be careful when updating a shift, as the existing shift will be replaced by the request body.
Any fields not provided will be cleared.
PUThttps://api.mytimestation.com/v1.2/shifts/{shift_id}
Parameter |
Location |
Description |
shift_id |
URL |
REQUIRED TimeStation Shift ID |
department_id |
Body |
REQUIRED TimeStation Department ID |
time_in |
Body |
REQUIRED Check-in date & time
Format: ISO-8601 with UTC offset (YYYY-MM-DDTHH:MM:SSZ) |
time_out |
Body |
Check-out date & time. Can be ommited for an open shift. If the shift is already closed, then this paramerter is required.
Format: ISO-8601 with UTC offset (YYYY-MM-DDTHH:MM:SSZ)
|
notes |
Body |
Notes |
time_deduction_minutes |
Body |
Number of minutes to deduct from the shift. Overrides the automatic time deduction rules for this shift. |
curl https://api.mytimestation.com/v1.2/shifts/shft_rgnw7mr7q2 \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-d department_id="dpt_1x95r1zkqf" \
-d time_in="2023-07-12T09:00-05:00" \
-d time_out="2023-07-12T17:00-05:00" \
-d notes="User forgot to check-in" \
-X PUT
{
"shift": {
"shift_id": "shft_rgnw7mr7q2"
}
}
Close Shift
Closes an open shift.
PUThttps://api.mytimestation.com/v1.2/shifts/{shift_id}/close
Parameter |
Location |
Description |
shift_id |
URL |
REQUIRED TimeStation Shift ID |
time_out |
Body |
Optional check-out date & time. If ommited, the shift is closed at the current time, using the UTC offset from the associated check-in.
Format: ISO-8601 with UTC offset (YYYY-MM-DDTHH:MM:SSZ) |
notes |
Body |
Notes |
time_deduction_minutes |
Body |
Number of minutes to deduct from the shift. Overrides the automatic time deduction rules for this shift. |
curl https://api.mytimestation.com/v1.2/shifts/shft_rgnw7mr7q2/close \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-d time_out="2023-07-12T17:00-05:00" \
{
"shift": {
"shift_id": "shft_rgnw7mr7q2"
}
}
Delete Shift
Deletes an existing shift
DELETEhttps://api.mytimestation.com/v1.2/shifts/{shift_id}
Parameter |
Location |
Description |
shift_id |
URL |
REQUIRED TimeStation Shift ID |
curl https://api.mytimestation.com/v1.2/shifts/shft_rgnw7mr7q2 \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg: \
-X DELETE
{
"shift": {
"shift_id": "shft_rgnw7mr7q2"
}
}
Reports
Run Report
Runs a TimeStation report and returns the output in CSV or XLS format. First row of the response contains column headers. Please see Available Reports section below for a list of the reports available as well as the parameters supported by each report.
GEThttps://api.mytimestation.com/v1.2/reports/{report_id}
Parameter |
Location |
Description |
report_id |
URL |
REQUIRED TimeStation unique report identifier. See Available Reports section for possible values. |
output_format |
Query String |
Optional. Specify output format for the report. Supported values are CSV or XLS. Default is CSV. |
curl https://api.mytimestation.com/v1.2/reports/DepartmentList \
-u 4uahz4f7cvj29x63ew65vw3yf9p8rpeg:
"Department Name","Type","Total Employees","Primary Employees"
"Accounting","Department","4","3"
"Front Desk","Location","1","0"
"Maintenance","Department","3","1"
"Management","Department","4","2"
"Sales","Department","8","6"
"Support","Department","1","0"
"Training","Department","1","0"
In addition to common parameters, each report may require specific additional
parameters. See the table below for the list of parameters available for each report.
Available Reports
Below is a list of the available reports as well as their specific parameters.
Report Name |
Description |
Parameters |
Administrator List |
Shows a list of all administrators with their permissions |
report_id=AdministratorList Report Identifier Location: URL
|
Attendance Counter |
Shows the number of times each user checked-in within a given date range
|
report_id=AttendanceCounter Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Attendance-Only |
Shows a list of users present within a given date range
|
report_id=AttendanceOnly Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
COVID-19 Screening Responses |
Shows employee responses to COVID-19 screening questionnaires |
report_id=Covid19ScreeningResponses Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Current Device Status |
Shows a list of devices associated with the account and their current status |
report_id=CurrentDeviceStatus Report Identifier Location: URL
|
Current Employee Status |
Shows the current attendance status (In/Out) of each user
|
report_id=CurrentEmployeeStatus Report Identifier Location: URL
|
Daily Attendance & Absence |
Shows a list of users present or absent during a specific day
|
report_id=DailyAttendanceAbsence Report Identifier Location: URL
report_daydate Date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Department List |
Shows a list of all the departments and the number of employees assigned to each department. |
report_id=DepartmentList Report Identifier Location: URL
|
Department Members |
Shows a list of all members of a given department
|
report_id=DepartmentMembers Report Identifier Location: URL
|
Department Summary |
Shows hours worked and total pay for each department within a given date range
|
report_id=DepartmentSummary Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Employee Activity |
Shows a detailed log of employee activity (In/Out) within a given date range
|
report_id=EmployeeActivity Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Employee Daily Summary |
Shows daily hours for each employee within a given date range |
report_id=EmployeeDailySummary Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Employee Daily Summary - One Week |
Shows daily hours for each employee during a one week period |
report_id=EmployeeDailySummary1W Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Employee Daily Summary - Two Weeks |
Shows daily hours for each employee during a two week period |
report_id=EmployeeDailySummary2W Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Employee Details |
Shows details of hours worked and pay for employees within a given date range
|
report_id=EmployeeDetails Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Employee List |
Shows a list of all employees with details.
|
report_id=EmployeeList Report Identifier Location: URL
Optional: report_showdeletedemployees Include Deleted Employees Location: Query String Values: 0 (Default) or 1
|
Employee Permissions |
Shows the permissions granted to each employee |
report_id=EmployeePermissions Report Identifier Location: URL
|
Employee Summary |
Shows a summary of hours worked and pay for each employee within a given date range
|
report_id=EmployeeSummary Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Employee Weekday Summary |
Shows total hours worked weekdays, Saturdays and Sundays for each employee within a given date range
|
report_id=EmployeeWeekdaySummary Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Inactive Employees |
Shows a List of Employees that had no activity within a given period |
report_id=InactiveEmployees Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Manual Time Adjustments |
Shows Time Entries that were manually adjusted |
report_id=ManualTimeAdjustments Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Open Shifts |
Shows shifts that are currently open or over a certain number of hours |
report_id=OpenShifts Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Payroll Export - Ctuit |
Generates an export file for Ctuit payroll |
report_id=PayrollExportCtuit Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Payroll Export - Heartland |
Generate an export file Heartland payroll |
report_id=PayrollExportHeartland Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Payroll Export - Paychex |
Generate an export file for Paychex payroll |
report_id=PayrollExportPaychex Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
Payroll Export - SurePayroll |
Generate an export file SurePayroll |
report_id=PayrollExportSurePayroll Report Identifier Location: URL
report_startdate Start date of the reporting period Location: Query String Format: YYYY-MM-DD
report_enddate End date of the reporting period Location: Query String Format: YYYY-MM-DD
|
|