The Timesheet Object
Object Property | Required | Object Type | Description | Max Character Length |
---|
Year | Yes | Integer | Year Of Timesheet | 4 |
Month | Yes | Integer | Month Of Timesheet | 2 |
Day | Yes | Integer | Day Of Timesheet | 2 |
AccountProjectId | Yes | Integer | Project Id Of Timesheet | 10 |
AccountProjectTaskId | Yes | Integer | Task Id Of Timesheet | 10 |
TotalTime | Yes | String | Total Time Of Timesheet | 5 |
Description | Yes | String | Description Of Timesheet | 100 |
StartTime | No | String | Start Time Of Timesheet | 5 |
EndTime | No | String | End Time Of Timesheet | 5 |
AccountWorkTypeId | No | Integer | Work Type Id Of Timesheet | 10 |
AccountCostCenterId | No | Integer | Cost Center Id Of Timesheet | 10 |
Latitude | No | Double | Latitude Of Employee | 10 |
Longitude | No | Double | Longitude Of Employee | 10 |
IPAddress | No | String | IPAddress Of Employee | 15 |
CustomField1 | No | String | CustomField 1 Of Timesheet | 2000 |
CustomField2 | No | String | CustomField 2 Of Timesheet | 2000 |
CustomField3 | No | String | CustomField 3 Of Timesheet | 2000 |
CustomField4 | No | String | CustomField 4 Of Timesheet | 2000 |
CustomField5 | No | String | CustomField 5 Of Timesheet | 2000 |
CustomField6 | No | String | CustomField 6 Of Timesheet | 2000 |
CustomField7 | No | String | CustomField 7 Of Timesheet | 2000 |
CustomField8 | No | String | CustomField 8 Of Timesheet | 2000 |
CustomField9 | No | String | CustomField 9 Of Timesheet | 2000 |
CustomField10 | No | String | CustomField 10 Of Timesheet | 2000 |
CustomField11 | No | String | CustomField 11 Of Timesheet | 2000 |
CustomField12 | No | String | CustomField 12 Of Timesheet | 2000 |
CustomField13 | No | String | CustomField 13 Of Timesheet | 2000 |
CustomField14 | No | String | CustomField 14 Of Timesheet | 2000 |
CustomField15 | No | String | CustomField 15 Of Timesheet | 2000 |
Create a Timesheet Entry
Creates a Timesheet Entry in your UNItekTIME account and returns the Response Message.
POST /API/Timesheets
Object Property | Required | Object Type | Description | Max Character Length |
---|
Year | Yes | Integer | Year Of Timesheet | 4 |
Month | Yes | Integer | Month Of Timesheet | 2 |
Day | Yes | Integer | Day Of Timesheet | 2 |
AccountEmployeeId | Yes | Integer | Employee Id Of Timesheet | 10 |
AccountProjectId | Yes | Integer | Project Id Of Timesheet | 10 |
AccountProjectTaskId | Yes | Integer | Task Id Of Timesheet | 10 |
TotalTime | Yes | String | Total Time Of Timesheet | 5 |
Description | Yes | String | Description Of Timesheet | 100 |
Example Request
curl "https://demo.unitektime.com/api/Timesheets" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X POST \
-H "Content-Type: application/json" \
-d "{'AccountProjectId':00001,'TimesheetName':'Demo Timesheet','Year':2018,'Month':1,'Day':1,'AccountEmployeeId':00001,'AccountProjectTaskId':00001,'TotalTime':'01:00','Description':'Demo Description'}"
Example Response
[
{
"id": "00001",
"message": "Time entry Add Successfully."
}
]
Update a Timesheet Entry
Update a Timesheet Entry in your UNItekTIME account and returns the Response Message.
POST /API/Timesheets/{Timesheet_ID}
Example Request
curl "https://demo.unitektime.com/api/Timesheets/00001" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X POST \
-H "Content-Type: application/json" \
-d "{'AccountProjectId':00001,'TimesheetName':'Demo Timesheet','Year':2018,'Month':1,'Day':1,'AccountEmployeeId':00001,'AccountProjectTaskId':00001,'TotalTime':'01:00'}"
Example Response
[
{
"id": "00001",
"message": "Time entry Update Successfully."
}
]
Delete a Timesheet Entry
Delete a Timesheet Entry. Returns a 200 OK response code if the call succeeded.
DELETE /API/Timesheets/{Timesheet_ID}
Example Request
curl "https://demo.unitektime.com/api/Timesheets/00003" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X DELETE \
-H "Content-Type: application/json"
Example Response
[
{
"id": "00003",
"message": "Deleted Successfully"
}
]
Get Timesheet Entries By Employee and Date Range
Display Timesheet Entries. Returns a 200 OK response code if the call succeeded.
GET /API/Timesheets/{Employee_ID}/{Start_Date}/{End_Date}
Example Request
curl "https://demo.unitektime.com/api/Timesheets/TimeEntriesByEmployeeIdAndDateRange/00001/2018-01-01/2018-01-31" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
[
{
"TimeEntryDate": "2018-01-01T00:00:00+00:00",
"TotalTime": "2018-01-01T02:03:00+00:00",
"ProjectName": "Demo Project",
"ProjectCode": "DP",
"TaskName": "Demo Task",
"IsBillable": false,
"TaskCode": "DT",
"PartyName": "Demo Client",
"PartyNick": "DC",
"EmployeeName": "User 01",
"EmployeeCode": "U-1",
"MilestoneDescription": "Default Milestone",
"AccountEmployeeType": "Administrator",
"DepartmentName": "Admin Department",
"AccountWorkType": "Standard",
"AccountCostCenter": null,
"ServiceItemName": null,
"AccountProjectId": 00001,
"AccountProjectTaskId": 00001,
"TimeEntryDescription": "",
"TaskDescription": "",
"IsVendor": false,
"AccountEmployeeId": 00001,
"AccountWorkTypeId": 00001,
"AccountCostCenterId": null,
"AccountPartyId": 00001,
"AccountEmployeeTimeEntryId": 00001,
"AccountTaskTypeId": 00001,
"TaskType": "Task",
"EmployeeManager": "",
"ApprovalStatus": "Not Submitted",
"Submitted": false,
"ProjectType": "Marketing",
"Approved": false,
"Rejected": false
}
]
Get Timesheet Entries By Timesheet Period Id
Display Timesheet Entries of specific Timesheet Period Id. Returns a 200 OK response code if the call succeeded.
GET /API/Timesheets/{Timesheet_Period_Id}
Example Request
curl "https://demo.unitektime.com/api/Timesheets/00000000-0000-0000-0000-000000000000" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
{
"Timesheets": {
"ID": "00000000-0000-0000-0000-000000000000",
"EmployeeId": 00001,
"EmployeeName": "User 01",
"StartDate": "2018-01-01T00:00:00",
"EndDate": "2018-01-31T00:00:00",
"TimesheetType": "Weekly",
"Status": "Submitted",
"SubmittedDate": "",
"TotalHours": 2,
"TotalMinutes": 120,
"TotalSeconds": 7200,
"ApprovalDate": "",
"TimeEntryRows": [
{
"ID": 1,
"TimeEntryDate": "2018-01-01T00:00:00",
"ProjectId": 00001,
"ProjectName": "Demo Project",
"TaskId": 00001,
"TaskName": "Demo Task",
"StartTime": null,
"EndTime": null,
"TotalTime": "2018-01-01T01:00:00",
"Minutes": 60,
"Hours": 1,
"Description": "",
"ClientId": 00001,
"ClientName": "Demo Client",
"BillingType": "Hourly",
"IsBillable": false,
"BillingRate": 0,
"EmployeeRate": 50,
"CustomField1": null,
"CustomField2": null,
"CustomField3": null,
"CustomField4": null,
"CustomField5": null,
"CustomField6": null,
"CustomField7": null,
"CustomField8": null,
"CustomField9": null,
"CustomField10": null,
"CustomField11": null,
"CustomField12": null,
"CustomField13": null,
"CustomField14": null,
"CustomField15": null
},
{
"ID": 2,
"TimeEntryDate": "2018-01-10T00:00:00",
"ProjectId": 00002,
"ProjectName": "Sample Project",
"TaskId": 00002,
"TaskName": "Sample Task",
"StartTime": null,
"EndTime": null,
"TotalTime": "2018-01-10T01:00:00",
"Minutes": 60,
"Hours": 1,
"Description": null,
"ClientId": 00002,
"ClientName": "Client 2",
"BillingType": "Hourly",
"IsBillable": false,
"BillingRate": 0,
"EmployeeRate": 50,
"CustomField1": null,
"CustomField2": null,
"CustomField3": null,
"CustomField4": null,
"CustomField5": null,
"CustomField6": null,
"CustomField7": null,
"CustomField8": null,
"CustomField9": null,
"CustomField10": null,
"CustomField11": null,
"CustomField12": null,
"CustomField13": null,
"CustomField14": null,
"CustomField15": null
}
]
}
}
Get Timesheet Period From Date
Display Time Period of specific Date. Returns a 200 OK response code if the call succeeded.
GET /API/Timesheets/GetTimesheetPeriod/{ Year }/{ Month }/{ Day }
Example Request
curl "https://demo.unitektime.com/api/Timesheets/GetTimesheetPeriod/2018/01/01" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
{
"StartDate": "2018-01-01T00:00:00+00:00",
"EndDate": "2018-01-07T00:00:00+00:00",
"TimesheetPeriodType": "Weekly",
"TimesheetPeriodId": "00000000-0000-0000-0000-000000000000",
"TimesheetStatus": "Not Submitted",
"DisableTimeEntry": "No"
}
Get All Timesheet Entries by Date Range
Display Timesheet Entries within Date Range. Returns a 200 OK response code if the call succeeded.
GET /API/Timesheets/GetAllTimeEntriesByDateRange/{Start_Date}/{End_Date}
Example Request
curl "https://demo.unitektime.com/api/Timesheets/GetAllTimeEntriesByDateRange/2018-01-01/2018-01-02" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
[
{
"TimeEntryDate": "2018-01-01T00:00:00+00:00",
"TotalTime": "2018-01-01T01:00:00+00:00",
"ProjectName": "Demo Project",
"ProjectCode": "DP",
"TaskName": "Demo Task",
"TaskCode": "DT",
"AccountClientName": "Demo Client",
"AccountClientNick": "DC",
"EmployeeName": "User 01",
"EmployeeCode": "U-1",
"MilestoneDescription": "Default Milestone",
"AccountEmployeeType": "Administrator",
"DepartmentName": "Admin Department",
"AccountWorkType": "Standard",
"AccountCostCenter": "Default Cost Center",
"ServiceItemName": null,
"AccountProjectId": 00001,
"AccountProjectTaskId": 00001,
"TimeEntryDescription": "Sample Time Entry Description",
"TaskDescription": "Sample Task Description",
"AccountEmployeeId": 00001,
"AccountWorkTypeId": 00001,
"AccountCostCenterId": 0001,
"AccountPartyId": 00001,
"AccountEmployeeTimeEntryId": 00001,
"AccountTaskTypeId": 00001,
"TaskType": "Task",
"EmployeeManager": "",
"ApprovalStatus": "Not Submitted",
"ProjectType": "Marketing",
"IsBillable": "No",
"IsVendor": "No",
"Submitted": "No",
"Approved": "No",
"Rejected": "No"
},
{
"TimeEntryDate": "2018-01-02T00:00:00+00:00",
"TotalTime": "2018-01-01T01:00:00+00:00",
"ProjectName": "Demo Project",
"ProjectCode": "DP",
"TaskName": "Demo Task",
"TaskCode": "DT",
"AccountClientName": "Demo Client",
"AccountClientNick": "DC",
"EmployeeName": "User 01",
"EmployeeCode": "U-1",
"MilestoneDescription": "Default Milestone",
"AccountEmployeeType": "Administrator",
"DepartmentName": "Admin Department",
"AccountWorkType": "Standard",
"AccountCostCenter": "Default Cost Center",
"ServiceItemName": null,
"AccountProjectId": 00001,
"AccountProjectTaskId": 00001,
"TimeEntryDescription": "Sample Time Entry Description",
"TaskDescription": "Sample Task Description",
"AccountEmployeeId": 00001,
"AccountWorkTypeId": 00001,
"AccountCostCenterId": 0001,
"AccountPartyId": 00001,
"AccountEmployeeTimeEntryId": 00001,
"AccountTaskTypeId": 00001,
"TaskType": "Task",
"EmployeeManager": "",
"ApprovalStatus": "Not Submitted",
"ProjectType": "Marketing",
"IsBillable": "No",
"IsVendor": "No",
"Submitted": "No",
"Approved": "No",
"Rejected": "No"
}
]
Get All Timesheet WorkDays with Hours by Week of Specific Date
Display Timesheet WorkDays and Hours by Week of Specific Date. Returns a 200 OK response code if the call succeeded.
GET /API/Timesheets/GetTimesheetWorkingDaysWithHours/{ Year }/{ Month }/{ Day }
Example Request
curl "https://demo.unitektime.com/api/Timesheets/GetTimesheetWorkingDaysWithHours/2018/08/01" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
[
{
"TimeEntryDate": "2018-01-01T00:00:00+00:00",
"TotalHours": "01:00",
"ShowClientInTimesheet": "No",
"ShowWorkTypeInTimesheet": "No",
"ShowClockStartEnd": "No",
"ShowCostCenterInTimesheet": "No"
},
{
"TimeEntryDate": "2018-01-02T00:00:00+00:00",
"TotalHours": "01:00",
"ShowClientInTimesheet": "No",
"ShowWorkTypeInTimesheet": "No",
"ShowClockStartEnd": "No",
"ShowCostCenterInTimesheet": "No"
}
]
Get Timesheet Entry Details of Specific Date
Display Timesheet Entry Details of Specific Date. Returns a 200 OK response code if the call succeeded.
GET /API/Timesheets/GetTimeEntryDetail/{ Year }/{ Month }/{ Day }
Example Request
curl "https://demo.unitektime.com/api/Timesheets/GetTimeEntryDetail/2018/08/01" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
[
{
"AccountEmployeeTimeEntryID": 00001,
"AccountProjectID": 00001,
"AccountProjectTaskID": 00001,
"ProjectName": "Demo Project",
"TaskName": "Demo Task",
"Description": "Sample Time Entry Description",
"StartTime": "01/01/2018 1:00:00 PM",
"EndTime": "01/01/2018 4:00:00 PM",
"TotalHours": "03:00",
"ShowClientInTimesheet": "No",
"ShowWorkTypeInTimesheet": "No",
"ShowCostCenterInTimesheet": "No",
"ShowClockStartEnd": "No",
"AccountClientId": 00001,
"ClientName": "Demo Client",
"WorkTypeName": "Standard",
"AccountWorkTypeID": 0001,
"TaskTypeID": 00001,
"TaskType": "Task"
},
{
"AccountEmployeeTimeEntryID": 00002,
"AccountProjectID": 00001,
"AccountProjectTaskID": 00001,
"ProjectName": "Demo Project",
"TaskName": "Demo Task",
"Description": "Sample Time Entry Description",
"StartTime": "01/01/2018 9:00:00 AM",
"EndTime": "01/01/2018 11:00:00 AM",
"TotalHours": "02:00",
"ShowClientInTimesheet": "No",
"ShowWorkTypeInTimesheet": "No",
"ShowCostCenterInTimesheet": "No",
"ShowClockStartEnd": "No",
"AccountClientId": 00001,
"ClientName": "Demo Client",
"WorkTypeName": "Standard",
"AccountWorkTypeID": 0001,
"TaskTypeID": 00001,
"TaskType": "Task"
}
]
Get Types of Timesheet Approvals
Display Approvals of Time Sheet. Returns a 200 OK response code if the call succeeded.
GET /API/Timesheets/GetTimesheetApprovalTypes
Example Request
curl "https://demo.unitektime.com/api/Timesheets/GetTimesheetApprovalTypes" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
[
{
"AccountApprovalTypeId": 00001,
"ApprovalTypeName": "Team Lead --> Project Manager",
"IsTimeOffApprovalTypes": "No"
},
{
"AccountApprovalTypeId": 00002,
"ApprovalTypeName": "Team Lead",
"IsTimeOffApprovalTypes": "No"
}
]
Get a List of Submitted Timesheets Who are Not Approved Yet
Display Approvable Time Sheet. Returns a 200 OK response code if the call succeeded.
GET /API/Timesheets/GetTimesheetApprovals
Example Request
curl "https://demo.unitektime.com/api/Timesheets/GetTimesheetApprovals" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
[
{
"AccountEmployeeTimeEntryPeriodId": "00000000-0000-0000-0000-000000000000",
"TimeEntryAccountEmployeeId": 00001,
"TimeEntryStartDate": "2018-01-01T00:00:00+00:00",
"TimeEntryEndDate": "2018-01-07T00:00:00+00:00",
"TimeEntryViewType": "Weekly",
"EmployeeName": "Employee 01",
"TotalMinutes": 120,
"TimeEntryDate": "2018-01-01T00:00:00+00:00",
"BillableTotalMinutes": 60,
"NonBillableTotalMinutes": 60,
"EMailAddress": "someone@example.com",
"AccountProjectId": 00001,
"Percentage": 50,
"SystemApproverTypeId": 1
}
]
Get Timesheet Period of Specific Employee by Date
Display Timesheet Period for the Week by Date of Employee. Returns a 200 OK response code if the call succeeded.
GET /API/Timesheets/GetTimesheetPeriodByEmployeeId/{Employee_Id}/{ Year }/{ Month }/{ Day }
Example Request
curl "https://demo.unitektime.com/api/Timesheets/GetTimesheetPeriodByEmployeeId/00001/2018/01/01" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
[
{
"StartDate": "2018-01-01T00:00:00+00:00",
"EndDate": "2018-01-07T00:00:00+00:00",
"TimesheetPeriodType": "Weekly",
"TimesheetPeriodId": "00000000-0000-0000-0000-000000000000",
"TimesheetStatus": "Not Submitted",
"DisableTimeEntry": "No"
}
]
POST Submit Timesheet Of Employee
Submit Timesheet for specific PeriodId of Employee. Returns a 200 OK response code if the call succeeded.
POST /API/Timesheets/SubmitTimesheetByEmployeeId/{Employee_Id}/{AccountEmployeeTimeEntryPeriod_Id}
Example Request
curl "https://demo.unitektime.com/api/Timesheets/SubmitTimesheetByEmployeeId/00001/00000000-0000-0000-0000-000000000000" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X POST \
-H "Content-Type: application/json"
Example Response
[
{
"Message": "Record Updated"
}
]
Post Submit Own Timesheet
Submit Own Timesheet for specific PeriodId. Returns a 200 OK response code if the call succeeded.
POST /API/Timesheets/SubmitTimesheetByEmployeeId/{ AccountEmployeeTimeEntryPeriodId }
Example Request
curl "https://demo.unitektime.com/api/Timesheets/SubmitTimesheetByEmployeeId/00000000-0000-0000-0000-000000000000" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X POST \
-H "Content-Type: application/json"
Example Response
[
{
"Message": "Record Updated"
}
]
Approve or Reject Timesheet
Approve or Reject Timesheet for specific PeriodId. Returns a 200 OK response code if the call succeeded. Valid Values for Status are “Approve” or “Reject”
POST /API/Timesheets/ApproveTimeSheet
Example Request
curl "https://demo.unitektime.com/api/Timesheets/ApproveTimeSheet" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X POST \
-H "Content-Type: application/json" \
-d "{'TimeEntryPeriodId':'00000000-0000-0000-0000-000000000000','Status':'Approve'}"
Example Response
[
{
"Message": "TimeEntryPeriod Approved Successfully"
}
]
Get Timesheet Periods by Date Range
Display a list of Timesheet Periods by Date range. Returns a 200 OK response code if the call succeeded.
Parameters | Required | Input Style | Description | Default Value |
---|
Start Date | Yes | MM-DD-YYYY | Start Date for Period List | – |
End Date | Yes | MM-DD-YYYY | End Date for Period List | – |
OutputType | No | Digit | Period List Output Type range as 1=Entered, 2=Both, 3=Not Entered | 1 |
ApprovalStatus | No | Digit | Period List Approval Status range as 0=All Timesheet Periods, 1=All Open Timesheet Periods, 2=Not Submitted, 3=Submitted,4=Approved, 5=Rejected | 1 |
POST /API/Timesheets/TimeEntryPeriodList/{Start Date}/{End Date}?OutputType={Output Type}&ApprovalStatus={Approval Status}
Example Request
curl "https://demo.unitektime.com/api/Timesheets/TimeEntryPeriodList/11-1-2018/11-30-2018?OutputType=1&ApprovalStatus=1" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X POST \
-H "Content-Type: application/json" \
Example Response
[
{
"TimeEntryStartDate": "2018-10-29T00:00:00+00:00",
"TimeEntryEndDate": "2018-11-04T00:00:00+00:00",
"TimeEntryViewType": "Weekly",
"AccountEmployeeTimeEntryPeriodId": "00000000-0000-0000-0000-000000000000",
"AccountId": 1,
"AccountEmployeeId": 1,
"EmployeeName": "Demo Employee",
"IsEntered": "No",
"Submitted": false,
"Approved": false,
"Rejected": false,
"InApproval": false,
"SubmittedDate": null,
"ApprovedOn": null,
"ApprovedByEmployeeId": null,
"RejectedOn": null,
"RejectedByEmployeeId": null,
"TotalHours": 0,
"TotalMinutes": 0
}
]
Get Timesheet Entries Of Employee By Date Range with Timesheet Entry Status
Display Timesheet Entries. Returns a 200 OK response code if the call succeeded.
Parameter Property | Object Type | Default Value |
---|
Approved | Boolean | False |
Rejected | Boolean | False |
Submitted | Boolean | False |
GET /API/Timesheets/GetTimeEntries/{Employee_ID}/{Start_Date}/{End_Date}?Approved={Boolean_Value}&Rejected={Boolean_Value}&Submitted={Boolean_Value}
Example Request of Approved and Rejected Timesheet Entries
curl "https://demo.unitektime.com/api/Timesheets/GetTimeEntries/81388/2018-01-01/2019-01-29?Approved=True&Rejected=True&Submitted=False" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
[
{
"TimeEntryDate": "2019-03-01T00:00:00+00:00",
"TotalTime": "2019-03-01T01:00:00+00:00",
"Description": "Sample Time Entry",
"AccountEmployeeTimeEntryId": 123,
"Status": "Pending Approval",
"AccountProjectId": 123,
"AccountProjectTaskId": 123,
"AccountEmployeeId": 123,
"AccountCostCenterId": null,
"AccountWorkTypeId": 123,
"ProjectName": "Demo Project",
"ProjectDescription": "Demo Project Description",
"ProjectCode": "DP-1",
"IsDisabled": false,
"IsTemplate": false,
"IsProject": true,
"IsDeleted": true,
"TaskName": "Demo Task",
"TaskDescription": "Demo Task Description",
"IsParentTask": false,
"IsBillable": false,
"TaskCode": "",
"ClientName": "Demo Client",
"ClientCode": " ",
"EmployeeName": "Demo Employee",
"AccountId": 001,
"EmployeeCode": "DE-01",
"MilestoneDescription": "Default Milestone",
"AccountWorkType": "Standard",
"AccountCostCenter": null,
"AccountEmployeeType": "Full-time Hourly",
"IsVendor": false,
"AccountClientId": 123,
"AccountTaskTypeId": 123,
"TaskType": "Task",
"EmployeeManager": " ",
"CustomField1": "",
"CustomField2": "",
"CustomField3": "",
"CustomField4": "",
"CustomField5": "",
"CustomField6": "",
"CustomField7": "",
"CustomField8": "",
"CustomField9": "",
"CustomField10": "",
"CustomField11": "",
"CustomField12": "",
"CustomField13": "",
"CustomField14": "",
"CustomField15": ""
}
]
Get Timesheet Entry by Time Entry Id
Display Timesheet Entry. Returns a 200 OK response code if the call succeeded.
GET /API/Timesheets/TimeEntry/{Time_Entry_ID}
Example Request of Approved and Rejected Timesheet Entries
curl "https://demo.unitektime.com/api/Timesheets/TimeEntry/1" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
[
{
"EmployeeName": "Demo Employee",
"ProjectName": "Demo Project",
"TaskName": "Demo Task",
"TotalTime": "2020-09-14T03:00:00+00:00",
"Approved": true,
"AccountEmployeeId": 1,
"AccountProjectId": 1,
"TeamLeadApproved": null,
"ProjectManagerApproved": null,
"AdministratorApproved": null,
"AccountEmployeeTimeEntryId": 1,
"StartTime": null,
"EndTime": null,
"TimeEntryDate": "2020-09-14T00:00:00+00:00",
"Description": null,
"AccountId": 1,
"TotalMinutes": 180,
"WeekDay": 2,
"AccountClientId": 1,
"ClientName": "Demo Client",
"AccountProjectTaskId": 1,
"BillingType": "Hourly",
"LeaderEmployeeId": 1,
"ProjectManagerEmployeeId": 1,
"TimeSheetApprovalTypeId": null,
"ExpenseApprovalTypeId": null,
"IsBillable": false,
"Rejected": false,
"BillingRate": 0.0,
"ProjectBillingRateTypeId": 1,
"EmployeeCode": "",
"AccountDepartmentId": 1,
"DepartmentName": "Default Department",
"EstimatedCost": 0.0,
"EstimatedTimeSpent": 0.0,
"Submitted": true,
"AccountWorkType": "Billable",
"EMailAddress": "User@Example.com",
"AccountLocation": "Default Location",
"AccountCostCenter": "Default Cost Center",
"AccountCostCenterCode": "Default",
"AccountWorkTypeCode": "Bill",
"ProjectCode": "DP",
"TaskCode": "DP-1",
"AccountLocationId": 1,
"Comments": null,
"BillingRateCurrencyId": 0,
"EmployeeRateCurrencyId": 1,
"BillingRateExchangeRate": 0.0,
"EmployeeRateExchangeRate": 1,
"AccountBaseCurrencyId": 1,
"AccountTaskTypeId": 1,
"TaskStatusId": 1,
"AccountPriorityId":1,
"AccountProjectMilestoneId": 1,
"DepartmentCode": "Default",
"ClientCode": "",
"EstimatedCurrencyId": 1,
"ApprovedOn": null,
"EmployeeRate": 1.0,
"AccountRoleId": 1,
"Role": "Administrator",
"AccountProjectTypeId": 1,
"ProjectDescription": " ",
"TaskDescription": "Demo Description",
"AccountTimeExpenseBillingTimesheetId": null,
"Billed": null,
"AccountEmployeeTimeEntryApprovalProjectId": "00000000-0000-0000-0000-000000000000",
"AccountEmployeeTimeEntryPeriodId": "00000000-0000-0000-0000-000000000000",
"SubmittedHours": 3.0,
"ApprovedHours": 3.0,
"RejectedHours": null,
"TimeEntryStartDate": "2020-09-14T00:00:00+00:00",
"TimeEntryEndDate": "2020-09-20T00:00:00+00:00",
"TimeEntryViewType": "Weekly",
"ClientContactName": null,
"ClientDepartmentCode": null,
"ClientDepartmentName": null,
"ClientDepartmentLocation": null,
"AccountWorkTypeId": 1,
"IsTimeOff": false,
"Hours": 3.0,
"AccountTimeOffTypeId": null,
"AccountEmployeeTimeOffRequestId": null,
"Percentage": 0,
"CustomField1": null,
"CustomField2": null,
"CustomField3": null,
"CustomField4": null,
"CustomField5": null,
"CustomField6": null,
"CustomField7": null,
"CustomField8": null,
"CustomField9": null,
"CustomField10": null,
"CustomField11": null,
"CustomField12": null,
"CustomField13": null,
"CustomField14": null,
"CustomField15": null,
"ApprovalStatus": "Approved",
"PeriodSubmitted": true,
"FirstName": "Admin",
"LastName": "Demo",
"Prefix": "",
"PeriodApproved": true,
"PeriodRejected": false,
"PeriodSubmittedDate": "2020-09-15T11:33:18.14+00:00",
"PeriodApprovedOn": "2020-09-15T00:00:00+00:00",
"SubmittedBy": 1,
"createdon": "2020-09-15T11:33:18.56+00:00",
"modifiedOn": "2020-09-15T11:33:18.56+00:00",
"IsProjectDeleted": false
}
]
Get Timesheet Entry with TimeOff by Employee Id and Date Range
Display Timesheet Entry with TimeOff. Returns a 200 OK response code if the call succeeded.
GET /API/Timesheets/TimeOff/{Employee_Id}/{Start_Date}/{End_Date}
Example Request of Timesheet Entry with TimeOff
curl "https://demo.unitektime.com/api/Timesheets/TimeOff/001/2020-9-1/2020-9-30" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
[
{
"AccountEmployeeTimeEntryId": 1,
"AccountEmployeeId": 1,
"TimeEntryDate": "2020-09-14T00:00:00+00:00",
"StartTime": null,
"EndTime": null,
"TotalTime": "2020-09-14T03:00:00+00:00",
"AccountProjectId": 1,
"AccountProjectTaskId": 1,
"Description": null,
"TimeSheetApprovalPathId": null,
"Approved": true,
"TeamLeadApproved": null,
"ProjectManagerApproved": null,
"AdministratorApproved": null,
"CreatedOn": "2020-09-15T11:33:18.56+00:00",
"ModifiedOn": "2020-09-15T11:33:18.56+00:00",
"Rejected": false,
"BillingRate": 0.0,
"IsApproved": null,
"IsReject": null,
"Submitted": true,
"AccountWorkTypeId": 1,
"ClientName": "Demo Client",
"AccountClientId": 1,
"ClientCode": "",
"ProjectName": "Demo Project",
"TaskName": "Demo Task",
"IsTimeOff": false,
"Hours": 3.0,
"AccountTimeOffTypeId": null,
"AccountEmployeeTimeOffRequestId": null,
"AccountEmployeeTimeEntryApprovalProjectId": "00000000-0000-0000-0000-000000000000",
"AccountEmployeeTimeEntryPeriodId": "00000000-0000-0000-0000-000000000000",
"AccountCostCenterId": 1,
"ApprovedByEmployeeId": null,
"AccountCostCenter": "Default Cost Center",
"AccountWorkType": "Billable",
"ApprovedOn": null,
"Percentage": 0,
"CustomField1": "None",
"CustomField2": null,
"CustomField3": null,
"CustomField4": null,
"CustomField5": null,
"CustomField6": null,
"CustomField7": null,
"CustomField8": null,
"CustomField9": null,
"CustomField10": null,
"CustomField11": null,
"CustomField12": null,
"CustomField13": null,
"CustomField14": null,
"CustomField15": null,
"TotalMinutes": 180,
"PeriodDescription": "",
"AccountTimeOffType": null
}
]
Create a TimeOff Entry
Creates a TimeOff Entry in your UNItekTIME account and returns the Response Message.
POST /API/TimeSheets/TimeOff
Object Property | Required | Object Type | Description | Max Character Length |
---|
Year | Yes | Integer | Year Of TimeOff | 4 |
Month | Yes | Integer | Month Of TimeOff | 2 |
Day | Yes | Integer | Day Of TimeOff | 2 |
AccountEmployeeId | Yes | Integer | Employee Id Of TimeOff | 10 |
AccountTimeOffTypeId | Yes | Guid | TimeOff Type Id Of TimeOff | 32 |
TotalTime | Yes | String | Total Time Of TimeOff | 5 |
Description | Yes | String | Description Of TimeOff | 100 |
Example Request
curl "https://demo.unitektime.com/api/TimeSheets/TimeOff" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X POST \
-H "Content-Type: application/json" \
-d "{'Year':2018,'Month':1,'Day':1,'AccountEmployeeId':00001,'AccountTimeOffTypeId':00000000-0000-0000-0000-000000000000,'TotalTime':'01:00','Description':'Demo Description'}"
Example Response
[
{
"id": "00001",
"message": "Time Off Add Successfully."
}
]
Update a TimeOff Entry
Update a TimeOff Entry in your UNItekTIME account and returns the Response Message.
POST /API/TimeSheets/TimeOff/{TimeOff_ID}
Example Request
curl "https://demo.unitektime.com/api/TimeSheets/TimeOff/00001" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X POST \
-H "Content-Type: application/json" \
-d "{'Year':2018,'Month':1,'Day':1,'AccountEmployeeId':00001,'AccountTimeOffTypeId':00000000-0000-0000-0000-000000000000,'TotalTime':'01:00','Description':'Demo Description'}"
Example Response
[
{
"id": "00001",
"message": "Time Off Update Successfully."
}
]
Delete a TimeOff Entry
Delete a TimeOff Entry. Returns a 200 OK response code if the call succeeded.
DELETE /API/TimeSheets/TimeOff/{TimeOff_ID}
Example Request
curl "https://demo.unitektime.com/api/TimeSheets/TimeOff/00003" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X DELETE \
-H "Content-Type: application/json"
Example Response
[
{
"id": "00003",
"message": "Time off entry Deleted successfully"
}
]
Get TimeOff Entries By Employee and Time Off Type
Display TimeOff Entries. Returns a 200 OK response code if the call succeeded.
GET /API/TimeSheets/TimeOff/{Employee_ID}/{AccountTimeOffType_Id}
Example Request
curl "https://demo.unitektime.com/api/TimeSheets/TimeOff/TimeEntriesByEmployeeIdAndDateRange/00001/00000000-0000-0000-0000-000000000000" \
-H "APIKey: {Your API Key}" \
-H "AuthToken: {Your Authentication Token}" \
-H "User-Agent: MyApp (yourname@example.com)" \
-X GET \
-H "Content-Type: application/json"
Example Response
[
{
"AccountEmployeeTimeEntryId": 00001,
"AccountEmployeeId": 00001,
"TimeEntryDate": "2020-06-01T00:00:00+00:00",
"StartTime": null,
"EndTime": null,
"TotalTime": "2020-06-01T08:00:00+00:00",
"AccountProjectId": null,
"AccountProjectTaskId": null,
"Description": "Demo Description",
"TimeSheetApprovalPathId": null,
"Approved": true,
"TeamLeadApproved": null,
"ProjectManagerApproved": null,
"AdministratorApproved": null,
"CreatedOn": "2020-05-18T15:30:31.263+00:00",
"ModifiedOn": "2020-05-18T15:30:31.263+00:00",
"Rejected": false,
"BillingRate": 0.0,
"IsApproved": null,
"IsReject": null,
"Submitted": true,
"AccountWorkTypeId": null,
"ClientName": null,
"AccountClientId": null,
"ClientCode": null,
"ProjectName": null,
"TaskName": null,
"IsTimeOff": true,
"Hours": 8.0,
"AccountTimeOffTypeId": "00000000-0000-0000-0000-000000000000",
"AccountEmployeeTimeOffRequestId": "00000000-0000-0000-0000-000000000000",
"AccountEmployeeTimeEntryApprovalProjectId": null,
"AccountEmployeeTimeEntryPeriodId": "00000000-0000-0000-0000-000000000000",
"AccountCostCenterId": null,
"ApprovedByEmployeeId": null,
"AccountCostCenter": null,
"AccountWorkType": null,
"ApprovedOn": null,
"Percentage": 0.0,
"CustomField1": "",
"CustomField2": "",
"CustomField3": "",
"CustomField4": "",
"CustomField5": "",
"CustomField6": "",
"CustomField7": "",
"CustomField8": "",
"CustomField9": "",
"CustomField10": "",
"CustomField11": "",
"CustomField12": "",
"CustomField13": "",
"CustomField14": "",
"CustomField15": "",
"TotalMinutes": 480,
"PeriodDescription": "",
"AccountTimeOffType": "Holiday"
}
]