Skip to content

Timesheet

The timesheet module in ServiceDesk Plus MSP Cloud consolidates technicians’ work log from various modules into time sheet entries and enables you to manage them.

Attributes

id (long)
Unique identifier to identify the timesheet

id (long)
Numerical digits which are considered to have larger values.

Example

234759602834500

start_time (datestamp)
Indicates the start time of the timesheet

start_time (datestamp)

end_time (datestamp)
Indicates the end time of the timesheet

end_time (datestamp)

utilisation (int)read only
Indicates the total utilisation percentage of the technician for the given period of time based on the technician operational hour

utilisation (int)
Read Only

Example

39

total_op_hrs (timediff)read only
Indicates the total operational hours worked by the technician for the timesheet period

total_op_hrs (timediff)
Read Only

Example

{
  "total_op_hrs": {
    "hours": "18",
    "minutes": "0",
    "value": "64800000"
  }
}

total_non_op_hrs (timediff)read only
Indicates the total non operational hours worked by the technician for the timesheet period

total_non_op_hrs (timediff)
Read Only

Example

{
  "total_op_hrs": {
    "hours": "52",
    "minutes": "41",
    "value": "189660000"
  }
}

More Attributes Expand all

status (timesheet_status)

Indicates the status of the timesheet. Allowed Values: Submitted, Rejected, Revoked, Re-Opened, Re-Submitted, Approved. 

status (timesheet_status)

Example

{}

technician (technician)read only

Indicates technician of the timesheet

technician (technician)

Example

{
  "technician": {
    "email_id": "mathew@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "id": "11478000000210001"
    },
    "name": "Mathew",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "John",
    "customer": {
      "id": "11478000000275812"
    }
  }
}

approver (user)read only

Indicates the approver of the timesheet. Approver of the timesheet is the reporting manager of the technician

approver (user)
Read Only

Example

{
  "approver": {
    "email_id": "john@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "deleted": false,
      "name": "BaseSite",
      "id": "11478000000210001",
      "is_default": true,
      "customer": {
        "id": "11478000000275812"
      }
    },
    "name": "John",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "John",
    "customer": {
      "name": "Zylker-MSP",
      "id": "11478000000275812",
      "is_msp": true
    }
  }
}

comments (string)

Indicate the comments of the timesheet

comments (string)
A text in a plain format. No rich text or new line characters allowed.

Example

{"comments":"VerfiedandApproved."}

created_by (user)read only

Indicates the user who created the timesheet

created_by (user)
Read Only

Example

{
  "created_by": {
    "email_id": "mathew@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "deleted": false,
      "name": "BaseSite",
      "id": "11478000000210001",
      "is_default": true,
      "customer": {
        "id": "11478000000275812"
      }
    },
    "name": "John",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "Mathew",
    "customer": {
      "name": "Zylker-MSP",
      "id": "11478000000275812",
      "is_msp": true
    }
  }
}

created_time (datetime)read only

Indicates the created time of the timesheet

created_time (datetime)
Read Only

Add Timesheet

This operation helps to add a Timesheet.

Mandatory Fields :- start_time, end_time

Url

<service domain|custom domain>/app/<portal>/api/v3/timesheet

Attributes

id (long)
Unique identifier to identify the timesheet

id (long)
Numerical digits which are considered to have larger values.

Example

234759602834500

start_time (datestamp)
Indicates the start time of the timesheet

start_time (datestamp)

end_time (datestamp)
Indicates the end time of the timesheet

end_time (datestamp)

utilisation (int)read only
Indicates the total utilisation percentage of the technician for the given period of time based on the technician operational hour

utilisation (int)
Read Only

Example

39

total_op_hrs (timediff)read only
Indicates the total operational hours worked by the technician for the timesheet period

total_op_hrs (timediff)
Read Only

Example

{
  "total_op_hrs": {
    "hours": "18",
    "minutes": "0",
    "value": "64800000"
  }
}

total_non_op_hrs (timediff)read only
Indicates the total non operational hours worked by the technician for the timesheet period

total_non_op_hrs (timediff)
Read Only

Example

{
  "total_op_hrs": {
    "hours": "52",
    "minutes": "41",
    "value": "189660000"
  }
}

More Attributes Expand all

status (timesheet_status)

Indicates the status of the timesheet. Allowed Values: Submitted, Rejected, Revoked, Re-Opened, Re-Submitted, Approved. 

status (timesheet_status)

Example

{}

technician (technician)read only

Indicates technician of the timesheet

technician (technician)

Example

{
  "technician": {
    "email_id": "mathew@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "id": "11478000000210001"
    },
    "name": "Mathew",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "John",
    "customer": {
      "id": "11478000000275812"
    }
  }
}

approver (user)read only

Indicates the approver of the timesheet. Approver of the timesheet is the reporting manager of the technician

approver (user)
Read Only

Example

{
  "approver": {
    "email_id": "john@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "deleted": false,
      "name": "BaseSite",
      "id": "11478000000210001",
      "is_default": true,
      "customer": {
        "id": "11478000000275812"
      }
    },
    "name": "John",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "John",
    "customer": {
      "name": "Zylker-MSP",
      "id": "11478000000275812",
      "is_msp": true
    }
  }
}

comments (string)

Indicate the comments of the timesheet

comments (string)
A text in a plain format. No rich text or new line characters allowed.

Example

{"comments":"VerfiedandApproved."}

created_by (user)read only

Indicates the user who created the timesheet

created_by (user)
Read Only

Example

{
  "created_by": {
    "email_id": "mathew@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "deleted": false,
      "name": "BaseSite",
      "id": "11478000000210001",
      "is_default": true,
      "customer": {
        "id": "11478000000275812"
      }
    },
    "name": "John",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "Mathew",
    "customer": {
      "name": "Zylker-MSP",
      "id": "11478000000275812",
      "is_msp": true
    }
  }
}

created_time (datetime)read only

Indicates the created time of the timesheet

created_time (datetime)
Read Only

$ curl <service domain|custom domain>/app/<portal>/api/v3/timesheet\
      -X POST\
      -H "Accept: application/vnd.manageengine.sdp.v3+json"\
      -H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
      -H "Content-Type: application/x-www-form-urlencoded"\
      -d input_data='{
    "timesheet": {
        "start_time": {
            "value": "2025-05-11"
        },
        "end_time": {
            "value": "2025-05-17"
        }
    }
}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/timesheet";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
           "Content-Type": "application/x-www-form-urlencoded",
           "Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
input_data = {
    "timesheet": {
        "start_time": {
            "value": "2025-05-11"
        },
        "end_time": {
            "value": "2025-05-17"
        }
    }
};
params = {"input_data": input_data};
response = invokeurl
[
    url: url
    type: POST
    parameters: params
    headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/timesheet"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
    "Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
    "Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'
{
    "timesheet": {
        "start_time": {
            "value": "2025-05-11"
        },
        "end_time": {
            "value": "2025-05-17"
        }
    }
}
'@
$data = @{ 'input_data' = $input_data}
$response = Invoke-RestMethod -Uri $url -Method post -Body $data -Headers $headers
$response
#Python version - 3.10
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request

url = "<service domain|custom domain>/app/<portal>/api/v3/timesheet"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json", 
          "Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx", 
          "Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
    "timesheet": {
        "start_time": {
            "value": "2025-05-11"
        },
        "end_time": {
            "value": "2025-05-17"
        }
    }
}'''
data = urlencode({"input_data":input_data}).encode()
httprequest = Request(url, headers=headers,data=data, method="POST")
try:
    with urlopen(httprequest) as response:
        print(response.read().decode())
except HTTPError as e:
    print(e.read().decode())
{
    "timesheet": {
        "approver": {
            "email_id": "john@zylker.com",
            "is_technician": false,
            "sms_mail": null,
            "mobile": "",
            "last_name": "",
            "user_scope": "internal_user",
            "sms_mail_id": null,
            "cost_per_hour": null,
            "site": {
                "deleted": false,
                "name": "Base Site",
                "id": "11478000000210001",
                "is_default": true,
                "customer": {
                    "id": "11478000000275812"
                }
            },
            "phone": "",
            "employee_id": null,
            "name": "John",
            "id": "11478000000282023",
            "is_vip_user": false,
            "department": null,
            "first_name": "John",
            "job_title": null,
            "customer": {
                "name": "Zylker - MSP",
                "id": "11478000000275812",
                "is_msp": true,
                "deleted_time": null
            }
        },
        "created_time": {
            "display_value": "May 19, 2025 12:29 PM",
            "value": "1747637956082"
        },
        "start_time": {
            "display_value": "May 11, 2025",
            "value": "2025-05-11"
        },
        "comments": null,
        "total_non_op_hrs": {
            "hours": "33",
            "minutes": "32",
            "value": "120720000"
        },
        "end_time": {
            "display_value": "May 17, 2025",
            "value": "2025-05-17"
        },
        "technician": {
            "email_id": "mathew@zylker.com",
            "is_technician": true,
            "sms_mail": null,
            "mobile": null,
            "last_name": null,
            "user_scope": "internal_user",
            "sms_mail_id": null,
            "cost_per_hour": "60",
            "site": {
                "id": "11478000000210001"
            },
            "phone": null,
            "employee_id": null,
            "name": "Mathew",
            "id": "11478000000276451",
            "is_vip_user": false,
            "department": null,
            "first_name": "Mathew",
            "job_title": null,
            "customer": {
                "id": "11478000000275812"
            }
        },
        "id": "11478000000964001",
        "total_op_hrs": {
            "hours": "6",
            "minutes": "46",
            "value": "24360000"
        },
        "created_by": {
            "email_id": "john@zylker.com",
            "is_technician": true,
            "sms_mail": null,
            "mobile": null,
            "last_name": null,
            "user_scope": "internal_user",
            "sms_mail_id": null,
            "cost_per_hour": "60",
            "site": {
                "deleted": false,
                "name": "Base Site",
                "id": "11478000000210001",
                "is_default": true,
                "customer": {
                    "id": "11478000000275812"
                }
            },
            "phone": null,
            "employee_id": null,
            "name": "Mathew",
            "id": "11478000000276451",
            "is_vip_user": false,
            "department": null,
            "first_name": "Mathew",
            "job_title": null,
            "customer": {
                "name": "Zylker - MSP",
                "id": "11478000000275812",
                "is_msp": true,
                "deleted_time": null
            }
        },
        "status": {
            "editable": false,
            "name": "Submitted",
            "id": "11478000000751007"
        },
        "utilisation": 111
    },
    "response_status": {
        "status_code": 2000,
        "status": "success"
    }
}

Edit Timesheet

This operation helps to edit a Timesheet.

Url

<service domain|custom domain>/app/<portal>/api/v3/timesheet/{timesheet_id}

Attributes

id (long)
Unique identifier to identify the timesheet

id (long)
Numerical digits which are considered to have larger values.

Example

234759602834500

start_time (datestamp)
Indicates the start time of the timesheet

start_time (datestamp)

end_time (datestamp)
Indicates the end time of the timesheet

end_time (datestamp)

utilisation (int)read only
Indicates the total utilisation percentage of the technician for the given period of time based on the technician operational hour

utilisation (int)
Read Only

Example

39

total_op_hrs (timediff)read only
Indicates the total operational hours worked by the technician for the timesheet period

total_op_hrs (timediff)
Read Only

Example

{
  "total_op_hrs": {
    "hours": "18",
    "minutes": "0",
    "value": "64800000"
  }
}

total_non_op_hrs (timediff)read only
Indicates the total non operational hours worked by the technician for the timesheet period

total_non_op_hrs (timediff)
Read Only

Example

{
  "total_op_hrs": {
    "hours": "52",
    "minutes": "41",
    "value": "189660000"
  }
}

More Attributes Expand all

status (timesheet_status)

Indicates the status of the timesheet. Allowed Values: Submitted, Rejected, Revoked, Re-Opened, Re-Submitted, Approved. 

status (timesheet_status)

Example

{}

technician (technician)read only

Indicates technician of the timesheet

technician (technician)

Example

{
  "technician": {
    "email_id": "mathew@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "id": "11478000000210001"
    },
    "name": "Mathew",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "John",
    "customer": {
      "id": "11478000000275812"
    }
  }
}

approver (user)read only

Indicates the approver of the timesheet. Approver of the timesheet is the reporting manager of the technician

approver (user)
Read Only

Example

{
  "approver": {
    "email_id": "john@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "deleted": false,
      "name": "BaseSite",
      "id": "11478000000210001",
      "is_default": true,
      "customer": {
        "id": "11478000000275812"
      }
    },
    "name": "John",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "John",
    "customer": {
      "name": "Zylker-MSP",
      "id": "11478000000275812",
      "is_msp": true
    }
  }
}

comments (string)

Indicate the comments of the timesheet

comments (string)
A text in a plain format. No rich text or new line characters allowed.

Example

{"comments":"VerfiedandApproved."}

created_by (user)read only

Indicates the user who created the timesheet

created_by (user)
Read Only

Example

{
  "created_by": {
    "email_id": "mathew@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "deleted": false,
      "name": "BaseSite",
      "id": "11478000000210001",
      "is_default": true,
      "customer": {
        "id": "11478000000275812"
      }
    },
    "name": "John",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "Mathew",
    "customer": {
      "name": "Zylker-MSP",
      "id": "11478000000275812",
      "is_msp": true
    }
  }
}

created_time (datetime)read only

Indicates the created time of the timesheet

created_time (datetime)
Read Only

$ curl <service domain|custom domain>/app/<portal>/api/v3/timesheet/{timesheet_id}\
      -X PUT\ 
      -H "Accept: application/vnd.manageengine.sdp.v3+json"\
      -H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
      -H "Content-Type: application/x-www-form-urlencoded"\
      -d input_data='{
    "timesheet": {
        "status": {
            "name": "Approved"
        },
        "comments": "Verified & Approved."
    }
}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/timesheet/{timesheet_id}";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
           "Content-Type": "application/x-www-form-urlencoded",
           "Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
input_data = {
    "timesheet": {
        "status": {
            "name": "Approved"
        },
        "comments": "Verified & Approved."
    }
};
params = {"input_data": input_data};
response = invokeurl
[
    url: url
    type: PUT
    parameters: params
    headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/timesheet/{timesheet_id}"
$headers = @{"Accept": "application/vnd.manageengine.sdp.v3+json", 
          "Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx", 
          "Content-Type" : "application/x-www-form-urlencoded"}
$input_data = @'
{
    "timesheet": {
        "status": {
            "name": "Approved"
        },
        "comments": "Verified & Approved."
    }
}
'@
$data = @{ 'input_data' = $input_data}
$response = Invoke-RestMethod -Uri $url -Method put -Body $data -Headers $headers
$response
#Python version - 3.10
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request

url = "<service domain|custom domain>/app/<portal>/api/v3/timesheet/{timesheet_id}"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json", 
          "Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx", 
          "Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
    "timesheet": {
        "status": {
            "name": "Approved"
        },
        "comments": "Verified & Approved."
    }
}'''
data = urlencode({"input_data":input_data}).encode()
httprequest = Request(url, headers=headers,data=data, method="PUT")
try:
    with urlopen(httprequest) as response:
        print(response.read().decode())
except HTTPError as e:
    print(e.read().decode())
{
    "timesheet": {
        "approver": {
            "email_id": "john@zylker.com",
            "is_technician": false,
            "sms_mail": null,
            "mobile": "",
            "last_name": "",
            "user_scope": "internal_user",
            "sms_mail_id": null,
            "cost_per_hour": null,
            "site": {
                "deleted": false,
                "name": "Base Site",
                "id": "11478000000210001",
                "is_default": true,
                "customer": {
                    "id": "11478000000275812"
                }
            },
            "phone": "",
            "employee_id": null,
            "name": "req1",
            "id": "11478000000282023",
            "department": null,
            "first_name": "req1-org",
            "job_title": null,
            "customer": {
                "name": "Zylker - MSP",
                "id": "11478000000275812",
                "is_msp": true,
                "deleted_time": null
            }
        },
        "created_time": {
            "display_value": "May 19, 2025 12:29 PM",
            "value": "1747637956082"
        },
        "start_time": {
            "display_value": "May 11, 2025",
            "value": "2025-05-11"
        },
        "comments": "Verified & Approved.",
        "total_non_op_hrs": {
            "hours": "33",
            "minutes": "32",
            "value": "120720000"
        },
        "end_time": {
            "display_value": "May 17, 2025",
            "value": "2025-05-17"
        },
        "technician": {
            "email_id": "mathew@zylker.com",
            "is_technician": true,
            "sms_mail": null,
            "mobile": null,
            "last_name": null,
            "user_scope": "internal_user",
            "sms_mail_id": null,
            "cost_per_hour": "60",
            "site": {
                "id": "11478000000210001"
            },
            "phone": null,
            "employee_id": null,
            "name": "Mathew",
            "id": "11478000000276451",
            "is_vip_user": false,
            "department": null,
            "first_name": "Mathew",
            "job_title": null,
            "customer": {
                "id": "11478000000275812"
            }
        },
        "id": "11478000000964001",
        "total_op_hrs": {
            "hours": "6",
            "minutes": "46",
            "value": "24360000"
        },
        "created_by": {
            "email_id": "mathew@zylker.com",
            "is_technician": true,
            "sms_mail": null,
            "mobile": null,
            "last_name": null,
            "user_scope": "internal_user",
            "sms_mail_id": null,
            "cost_per_hour": "60",
            "site": {
                "deleted": false,
                "name": "Base Site",
                "id": "11478000000210001",
                "is_default": true,
                "customer": {
                    "id": "11478000000275812"
                }
            },
            "phone": null,
            "employee_id": null,
            "name": "Mathew",
            "id": "11478000000276451",
            "department": null,
            "first_name": "Mathew",
            "job_title": null,
            "customer": {
                "name": "Zylker - MSP",
                "id": "11478000000275812",
                "is_msp": true,
                "deleted_time": null
            }
        },
        "status": {
            "editable": false,
            "name": "Approved",
            "id": "11478000000751009"
        },
        "utilisation": 111
    },
    "response_status": {
        "status_code": 2000,
        "status": "success"
    }
}

Get Timesheet

This operation helps to get a Timesheet.

Url

<service domain|custom domain>/app/<portal>/api/v3/timesheet/{timesheet_id}

Attributes

id (long)
Unique identifier to identify the timesheet

id (long)
Numerical digits which are considered to have larger values.

Example

234759602834500

start_time (datestamp)
Indicates the start time of the timesheet

start_time (datestamp)

end_time (datestamp)
Indicates the end time of the timesheet

end_time (datestamp)

utilisation (int)read only
Indicates the total utilisation percentage of the technician for the given period of time based on the technician operational hour

utilisation (int)
Read Only

Example

39

total_op_hrs (timediff)read only
Indicates the total operational hours worked by the technician for the timesheet period

total_op_hrs (timediff)
Read Only

Example

{
  "total_op_hrs": {
    "hours": "18",
    "minutes": "0",
    "value": "64800000"
  }
}

total_non_op_hrs (timediff)read only
Indicates the total non operational hours worked by the technician for the timesheet period

total_non_op_hrs (timediff)
Read Only

Example

{
  "total_op_hrs": {
    "hours": "52",
    "minutes": "41",
    "value": "189660000"
  }
}

More Attributes Expand all

status (timesheet_status)

Indicates the status of the timesheet. Allowed Values: Submitted, Rejected, Revoked, Re-Opened, Re-Submitted, Approved. 

status (timesheet_status)

Example

{}

technician (technician)read only

Indicates technician of the timesheet

technician (technician)

Example

{
  "technician": {
    "email_id": "mathew@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "id": "11478000000210001"
    },
    "name": "Mathew",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "John",
    "customer": {
      "id": "11478000000275812"
    }
  }
}

approver (user)read only

Indicates the approver of the timesheet. Approver of the timesheet is the reporting manager of the technician

approver (user)
Read Only

Example

{
  "approver": {
    "email_id": "john@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "deleted": false,
      "name": "BaseSite",
      "id": "11478000000210001",
      "is_default": true,
      "customer": {
        "id": "11478000000275812"
      }
    },
    "name": "John",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "John",
    "customer": {
      "name": "Zylker-MSP",
      "id": "11478000000275812",
      "is_msp": true
    }
  }
}

comments (string)

Indicate the comments of the timesheet

comments (string)
A text in a plain format. No rich text or new line characters allowed.

Example

{"comments":"VerfiedandApproved."}

created_by (user)read only

Indicates the user who created the timesheet

created_by (user)
Read Only

Example

{
  "created_by": {
    "email_id": "mathew@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "deleted": false,
      "name": "BaseSite",
      "id": "11478000000210001",
      "is_default": true,
      "customer": {
        "id": "11478000000275812"
      }
    },
    "name": "John",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "Mathew",
    "customer": {
      "name": "Zylker-MSP",
      "id": "11478000000275812",
      "is_msp": true
    }
  }
}

created_time (datetime)read only

Indicates the created time of the timesheet

created_time (datetime)
Read Only

$ curl -G <service domain|custom domain>/app/<portal>/api/v3/timesheet/{timesheet_id}\
      -X GET\
      -H "Accept: application/vnd.manageengine.sdp.v3+json"\
      -H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
      -H "Content-Type: application/x-www-form-urlencoded"
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/timesheet/{timesheet_id}";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
           "Content-Type": "application/x-www-form-urlencoded",
           "Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};          
response = invokeurl
[
    url: url
    type: GET
    headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/timesheet/{timesheet_id}"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
    "Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
    "Content-Type" = "application/x-www-form-urlencoded"}  
$response = Invoke-RestMethod -Uri $url -Method get -Headers $headers 
$response
#Python version - 3.8
#This script requires requests module installed in python.
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request

url = "<service domain|custom domain>/app/<portal>/api/v3/timesheet/{timesheet_id}"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json", 
          "Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx", 
          "Content-Type" : "application/x-www-form-urlencoded"}
httprequest = Request(url, headers=headers)
try:
    with urlopen(httprequest) as response:
        print(response.read().decode())
except HTTPError as e:
    print(e.read().decode())
{
    "timesheet": {
        "approver": {
            "email_id": "john@zylker.com",
            "is_technician": false,
            "sms_mail": null,
            "mobile": "",
            "last_name": "",
            "user_scope": "internal_user",
            "sms_mail_id": null,
            "cost_per_hour": null,
            "site": {
                "deleted": false,
                "name": "Base Site",
                "id": "11478000000210001",
                "is_default": true,
                "customer": {
                    "id": "11478000000275812"
                }
            },
            "phone": "",
            "employee_id": null,
            "name": "John",
            "id": "11478000000282023",
            "is_vip_user": false,
            "department": null,
            "first_name": "John",
            "job_title": null,
            "customer": {
                "name": "Zylker - MSP",
                "id": "11478000000275812",
                "is_msp": true,
                "deleted_time": null
            }
        },
        "created_time": {
            "display_value": "May 15, 2025 12:19 PM",
            "value": "1747291774119"
        },
        "start_time": {
            "display_value": "Apr 13, 2025",
            "value": "2025-04-13"
        },
        "comments": null,
        "total_non_op_hrs": {
            "hours": "49",
            "minutes": "43",
            "value": "178980000"
        },
        "end_time": {
            "display_value": "Apr 19, 2025",
            "value": "2025-04-19"
        },
        "technician": {
            "email_id": "mathew@zylker.com",
            "is_technician": true,
            "sms_mail": null,
            "mobile": null,
            "last_name": null,
            "user_scope": "internal_user",
            "sms_mail_id": null,
            "cost_per_hour": "60",
            "site": {
                "id": "11478000000210001"
            },
            "phone": null,
            "employee_id": null,
            "name": "Mathew",
            "id": "11478000000276451",
            "is_vip_user": false,
            "department": null,
            "first_name": "Mathew",
            "job_title": null,
            "customer": {
                "id": "11478000000275812"
            }
        },
        "id": "11478000000954001",
        "total_op_hrs": {
            "hours": "18",
            "minutes": "0",
            "value": "64800000"
        },
        "created_by": {
            "email_id": "mathew@zylker.com",
            "is_technician": true,
            "sms_mail": null,
            "mobile": null,
            "last_name": null,
            "user_scope": "internal_user",
            "sms_mail_id": null,
            "cost_per_hour": "60",
            "site": {
                "deleted": false,
                "name": "Base Site",
                "id": "11478000000210001",
                "is_default": true,
                "customer": {
                    "id": "11478000000275812"
                }
            },
            "phone": null,
            "employee_id": null,
            "name": "Mathew",
            "id": "11478000000276451",
            "is_vip_user": false,
            "department": null,
            "first_name": "Mathew",
            "job_title": null,
            "customer": {
                "name": "Zylker - MSP",
                "id": "11478000000275812",
                "is_msp": true,
                "deleted_time": null
            }
        },
        "status": {
            "editable": false,
            "name": "Submitted",
            "id": "11478000000751007"
        },
        "utilisation": 188
    },
    "response_status": {
        "status_code": 2000,
        "status": "success"
    }
}

Get List Timesheet

This operation helps to get all Timesheets.

Url

<service domain|custom domain>/app/<portal>/api/v3/timesheet

Attributes

id (long)
Unique identifier to identify the timesheet

id (long)
Numerical digits which are considered to have larger values.

Example

234759602834500

start_time (datestamp)
Indicates the start time of the timesheet

start_time (datestamp)

end_time (datestamp)
Indicates the end time of the timesheet

end_time (datestamp)

utilisation (int)read only
Indicates the total utilisation percentage of the technician for the given period of time based on the technician operational hour

utilisation (int)
Read Only

Example

39

total_op_hrs (timediff)read only
Indicates the total operational hours worked by the technician for the timesheet period

total_op_hrs (timediff)
Read Only

Example

{
  "total_op_hrs": {
    "hours": "18",
    "minutes": "0",
    "value": "64800000"
  }
}

total_non_op_hrs (timediff)read only
Indicates the total non operational hours worked by the technician for the timesheet period

total_non_op_hrs (timediff)
Read Only

Example

{
  "total_op_hrs": {
    "hours": "52",
    "minutes": "41",
    "value": "189660000"
  }
}

More Attributes Expand all

status (timesheet_status)

Indicates the status of the timesheet. Allowed Values: Submitted, Rejected, Revoked, Re-Opened, Re-Submitted, Approved. 

status (timesheet_status)

Example

{}

technician (technician)read only

Indicates technician of the timesheet

technician (technician)

Example

{
  "technician": {
    "email_id": "mathew@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "id": "11478000000210001"
    },
    "name": "Mathew",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "John",
    "customer": {
      "id": "11478000000275812"
    }
  }
}

approver (user)read only

Indicates the approver of the timesheet. Approver of the timesheet is the reporting manager of the technician

approver (user)
Read Only

Example

{
  "approver": {
    "email_id": "john@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "deleted": false,
      "name": "BaseSite",
      "id": "11478000000210001",
      "is_default": true,
      "customer": {
        "id": "11478000000275812"
      }
    },
    "name": "John",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "John",
    "customer": {
      "name": "Zylker-MSP",
      "id": "11478000000275812",
      "is_msp": true
    }
  }
}

comments (string)

Indicate the comments of the timesheet

comments (string)
A text in a plain format. No rich text or new line characters allowed.

Example

{"comments":"VerfiedandApproved."}

created_by (user)read only

Indicates the user who created the timesheet

created_by (user)
Read Only

Example

{
  "created_by": {
    "email_id": "mathew@zylker.com",
    "is_technician": true,
    "user_scope": "internal_user",
    "cost_per_hour": "60",
    "site": {
      "deleted": false,
      "name": "BaseSite",
      "id": "11478000000210001",
      "is_default": true,
      "customer": {
        "id": "11478000000275812"
      }
    },
    "name": "John",
    "id": "11478000000276451",
    "is_vip_user": false,
    "first_name": "Mathew",
    "customer": {
      "name": "Zylker-MSP",
      "id": "11478000000275812",
      "is_msp": true
    }
  }
}

created_time (datetime)read only

Indicates the created time of the timesheet

created_time (datetime)
Read Only

$ curl -G <service domain|custom domain>/app/<portal>/api/v3/timesheet\
      -X GET\ 
      -H "Accept: application/vnd.manageengine.sdp.v3+json"\
      -H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
      -H "Content-Type: application/x-www-form-urlencoded"\
      --data-urlencode input_data='{}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/timesheet";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
           "Content-Type": "application/x-www-form-urlencoded",
           "Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
input_data = {};
params = {"input_data":input_data};           
response = invokeurl
[
    url: url
    type: GET
    parameters:params
    headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/timesheet"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
    "Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
    "Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'{}'@
$data = @{ 'input_data' = $input_data}    
$response = Invoke-RestMethod -Uri $url -Method get -Body $data -Headers $headers 
$response
#Python version - 3.8
#This script requires requests module installed in python.
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request

url = "<service domain|custom domain>/app/<portal>/api/v3/timesheet"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json", 
          "Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx", 
          "Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{}'''       
url += "?" + urlencode({"input_data":input_data})
httprequest = Request(url, headers=headers)
try:
    with urlopen(httprequest) as response:
        print(response.read().decode())
except HTTPError as e:
    print(e.read().decode())
{
    "response_status": [
        {
            "status_code": 2000,
            "status": "success"
        }
    ],
    "timesheets": [
        {
            "approver": {
                "email_id": "john@zylker.com",
                "is_technician": false,
                "sms_mail": null,
                "mobile": "",
                "last_name": "",
                "user_scope": "internal_user",
                "sms_mail_id": null,
                "cost_per_hour": null,
                "site": {
                    "deleted": false,
                    "name": "Base Site",
                    "id": "11478000000210001",
                    "is_default": true,
                    "customer": {
                        "id": "11478000000275812"
                    }
                },
                "phone": "",
                "employee_id": null,
                "name": "John",
                "id": "11478000000282023",
                "is_vip_user": false,
                "department": null,
                "first_name": "John",
                "job_title": null,
                "customer": {
                    "name": "Zylker - MSP",
                    "id": "11478000000275812",
                    "is_msp": true,
                    "deleted_time": null
                }
            },
            "created_time": {
                "display_value": "Mar 11, 2025 03:12 PM",
                "value": "1741686147870"
            },
            "start_time": {
                "display_value": "Mar 2, 2025",
                "value": "2025-03-02"
            },
            "comments": null,
            "total_non_op_hrs": {
                "hours": "0",
                "minutes": "0",
                "value": "0"
            },
            "end_time": {
                "display_value": "Mar 8, 2025",
                "value": "2025-03-08"
            },
            "technician": {
                "email_id": "mathew@zylker.com",
                "is_technician": true,
                "sms_mail": null,
                "mobile": null,
                "last_name": null,
                "user_scope": "internal_user",
                "sms_mail_id": null,
                "cost_per_hour": "60",
                "site": {
                    "id": "11478000000210001"
                },
                "phone": null,
                "employee_id": null,
                "name": "Mathew",
                "id": "11478000000276451",
                "is_vip_user": false,
                "department": null,
                "first_name": "Mathew",
                "job_title": null,
                "customer": {
                    "id": "11478000000275812"
                }
            },
            "id": "11478000000806040",
            "total_op_hrs": {
                "hours": "45",
                "minutes": "0",
                "value": "162000000"
            },
            "created_by": {
                "email_id": "mathew@zylker.com",
                "is_technician": true,
                "sms_mail": null,
                "mobile": null,
                "last_name": null,
                "user_scope": "internal_user",
                "sms_mail_id": null,
                "cost_per_hour": "60",
                "site": {
                    "deleted": false,
                    "name": "Base Site",
                    "id": "11478000000210001",
                    "is_default": true,
                    "customer": {
                        "id": "11478000000275812"
                    }
                },
                "phone": null,
                "employee_id": null,
                "name": "Mathew",
                "id": "11478000000276451",
                "is_vip_user": false,
                "department": null,
                "first_name": "Mathew",
                "job_title": null,
                "customer": {
                    "name": "Zylker - MSP",
                    "id": "11478000000275812",
                    "is_msp": true,
                    "deleted_time": null
                }
            },
            "status": {
                "editable": false,
                "name": "Submitted",
                "id": "11478000000751007"
            },
            "utilisation": 125
        },
        {
            "approver": {
                "email_id": "john@zylker.com",
                "is_technician": false,
                "sms_mail": null,
                "mobile": "",
                "last_name": "",
                "user_scope": "internal_user",
                "sms_mail_id": null,
                "cost_per_hour": null,
                "site": {
                    "deleted": false,
                    "name": "Base Site",
                    "id": "11478000000210001",
                    "is_default": true,
                    "customer": {
                        "id": "11478000000275812"
                    }
                },
                "phone": "",
                "employee_id": null,
                "name": "John",
                "id": "11478000000282023",
                "is_vip_user": false,
                "department": null,
                "first_name": "John",
                "job_title": null,
                "customer": {
                    "name": "Zylker - MSP",
                    "id": "11478000000275812",
                    "is_msp": true,
                    "deleted_time": null
                }
            },
            "created_time": {
                "display_value": "Apr 28, 2025 11:23 AM",
                "value": "1745819610302"
            },
            "start_time": {
                "display_value": "Apr 20, 2025",
                "value": "2025-04-20"
            },
            "comments": "Comments",
            "total_non_op_hrs": {
                "hours": "45",
                "minutes": "0",
                "value": "162000000"
            },
            "end_time": {
                "display_value": "Apr 26, 2025",
                "value": "2025-04-26"
            },
            "technician": {
                "email_id": "mathew@zylker.com",
                "is_technician": true,
                "sms_mail": null,
                "mobile": null,
                "last_name": null,
                "user_scope": "internal_user",
                "sms_mail_id": null,
                "cost_per_hour": "60",
                "site": {
                    "id": "11478000000210001"
                },
                "phone": null,
                "employee_id": null,
                "name": "Mathew",
                "id": "11478000000276451",
                "is_vip_user": false,
                "department": null,
                "first_name": "Mathew",
                "job_title": null,
                "customer": {
                    "id": "11478000000275812"
                }
            },
            "id": "11478000000911031",
            "total_op_hrs": {
                "hours": "27",
                "minutes": "0",
                "value": "97200000"
            },
            "created_by": {
                "email_id": "mathew@zylker.com",
                "is_technician": true,
                "sms_mail": null,
                "mobile": null,
                "last_name": null,
                "user_scope": "internal_user",
                "sms_mail_id": null,
                "cost_per_hour": "60",
                "site": {
                    "deleted": false,
                    "name": "Base Site",
                    "id": "11478000000210001",
                    "is_default": true,
                    "customer": {
                        "id": "11478000000275812"
                    }
                },
                "phone": null,
                "employee_id": null,
                "name": "Mathew",
                "id": "11478000000276451",
                "is_vip_user": false,
                "department": null,
                "first_name": "Mathew",
                "job_title": null,
                "customer": {
                    "name": "Zylker - MSP",
                    "id": "11478000000275812",
                    "is_msp": true,
                    "deleted_time": null
                }
            },
            "status": {
                "editable": false,
                "name": "Submitted",
                "id": "11478000000751007"
            },
            "utilisation": 200
        },
        {
            "approver": {
                "email_id": "john@zylker.com",
                "is_technician": false,
                "sms_mail": null,
                "mobile": "",
                "last_name": "",
                "user_scope": "internal_user",
                "sms_mail_id": null,
                "cost_per_hour": null,
                "site": {
                    "deleted": false,
                    "name": "Base Site",
                    "id": "11478000000210001",
                    "is_default": true,
                    "customer": {
                        "id": "11478000000275812"
                    }
                },
                "phone": "",
                "employee_id": null,
                "name": "John",
                "id": "11478000000282023",
                "is_vip_user": false,
                "department": null,
                "first_name": "John",
                "job_title": null,
                "customer": {
                    "name": "Zylker - MSP",
                    "id": "11478000000275812",
                    "is_msp": true,
                    "deleted_time": null
                }
            },
            "created_time": {
                "display_value": "May 12, 2025 08:16 PM",
                "value": "1747061216921"
            },
            "start_time": {
                "display_value": "May 4, 2025",
                "value": "2025-05-04"
            },
            "comments": "Verified and Approved.",
            "total_non_op_hrs": {
                "hours": "52",
                "minutes": "41",
                "value": "189660000"
            },
            "end_time": {
                "display_value": "May 10, 2025",
                "value": "2025-05-10"
            },
            "technician": {
                "email_id": "mathew@zylker.com",
                "is_technician": true,
                "sms_mail": null,
                "mobile": null,
                "last_name": null,
                "user_scope": "internal_user",
                "sms_mail_id": null,
                "cost_per_hour": "60",
                "site": {
                    "id": "11478000000210001"
                },
                "phone": null,
                "employee_id": null,
                "name": "Mathew",
                "id": "11478000000276451",
                "is_vip_user": false,
                "department": null,
                "first_name": "Mathew",
                "job_title": null,
                "customer": {
                    "id": "11478000000275812"
                }
            },
            "id": "11478000000942138",
            "total_op_hrs": {
                "hours": "18",
                "minutes": "0",
                "value": "64800000"
            },
            "created_by": {
                "email_id": "mathew@zylker.com",
                "is_technician": true,
                "sms_mail": null,
                "mobile": null,
                "last_name": null,
                "user_scope": "internal_user",
                "sms_mail_id": null,
                "cost_per_hour": "60",
                "site": {
                    "deleted": false,
                    "name": "Base Site",
                    "id": "11478000000210001",
                    "is_default": true,
                    "customer": {
                        "id": "11478000000275812"
                    }
                },
                "phone": null,
                "employee_id": null,
                "name": "Mathew",
                "id": "11478000000276451",
                "is_vip_user": false,
                "department": null,
                "first_name": "Mathew",
                "job_title": null,
                "customer": {
                    "name": "Zylker - MSP",
                    "id": "11478000000275812",
                    "is_msp": true,
                    "deleted_time": null
                }
            },
            "status": {
                "editable": false,
                "name": "Approved",
                "id": "11478000000751009"
            },
            "utilisation": 196
        },
        {
            "approver": {
                "email_id": "john@zylker.com",
                "is_technician": false,
                "sms_mail": null,
                "mobile": "",
                "last_name": "",
                "user_scope": "internal_user",
                "sms_mail_id": null,
                "cost_per_hour": null,
                "site": {
                    "deleted": false,
                    "name": "Base Site",
                    "id": "11478000000210001",
                    "is_default": true,
                    "customer": {
                        "id": "11478000000275812"
                    }
                },
                "phone": "",
                "employee_id": null,
                "name": "John",
                "id": "11478000000282023",
                "is_vip_user": false,
                "department": null,
                "first_name": "John",
                "job_title": null,
                "customer": {
                    "name": "Zylker - MSP",
                    "id": "11478000000275812",
                    "is_msp": true,
                    "deleted_time": null
                }
            },
            "created_time": {
                "display_value": "May 15, 2025 12:19 PM",
                "value": "1747291774119"
            },
            "start_time": {
                "display_value": "Apr 13, 2025",
                "value": "2025-04-13"
            },
            "comments": null,
            "total_non_op_hrs": {
                "hours": "49",
                "minutes": "43",
                "value": "178980000"
            },
            "end_time": {
                "display_value": "Apr 19, 2025",
                "value": "2025-04-19"
            },
            "technician": {
                "email_id": "mathew@zylker.com",
                "is_technician": true,
                "sms_mail": null,
                "mobile": null,
                "last_name": null,
                "user_scope": "internal_user",
                "sms_mail_id": null,
                "cost_per_hour": "60",
                "site": {
                    "id": "11478000000210001"
                },
                "phone": null,
                "employee_id": null,
                "name": "Mathew",
                "id": "11478000000276451",
                "is_vip_user": false,
                "department": null,
                "first_name": "Mathew",
                "job_title": null,
                "customer": {
                    "id": "11478000000275812"
                }
            },
            "id": "11478000000954001",
            "total_op_hrs": {
                "hours": "18",
                "minutes": "0",
                "value": "64800000"
            },
            "created_by": {
                "email_id": "mathew@zylker.com",
                "is_technician": true,
                "sms_mail": null,
                "mobile": null,
                "last_name": null,
                "user_scope": "internal_user",
                "sms_mail_id": null,
                "cost_per_hour": "60",
                "site": {
                    "deleted": false,
                    "name": "Base Site",
                    "id": "11478000000210001",
                    "is_default": true,
                    "customer": {
                        "id": "11478000000275812"
                    }
                },
                "phone": null,
                "employee_id": null,
                "name": "Mathew",
                "id": "11478000000276451",
                "is_vip_user": false,
                "department": null,
                "first_name": "Mathew",
                "job_title": null,
                "customer": {
                    "name": "Zylker - MSP",
                    "id": "11478000000275812",
                    "is_msp": true,
                    "deleted_time": null
                }
            },
            "status": {
                "editable": false,
                "name": "Submitted",
                "id": "11478000000751007"
            },
            "utilisation": 188
        }
    ],
    "list_info": {
        "has_more_rows": false,
        "row_count": 4
    }
}