Time Entries
Time entries are various entries of time made by users in a project, based on the time they spent on a project, in a task.
Possible error codes:
Error Code | Message |
---|---|
1002 | This task does not exist in this project. Hence, this timesheet entry cannot be made |
20050 | This timesheet entry is already being timed |
20054 | This timesheet is being timed. Hence, it cannot be edited |
Attribute
Date Format [yyyy-mm-dd]
{
"time_entry_id": "460000000044021",
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"user_id": "460000000024003",
"user_name": "John David",
"is_current_user": true,
"log_date": "2013-09-17",
"begin_time": "03:00",
"end_time": "04:00",
"log_time": "05:00",
"is_billable": true,
"billed_status": "unbilled",
"invoice_id": "",
"notes": " ",
"timer_started_at": " ",
"timer_started_at_utc_time": "",
"timer_duration_in_minutes": " ",
"timer_duration_in_seconds": "",
"created_time": "2013-09-11T18:05:27+0530",
"timesheet_custom_fields": ""
}
Log time entries
Logging time entries.
OAuth Scope : ZohoInvoice.projects.CREATE
Arguments
Date Format [yyyy-dd-mm]
Time-Format [HH:mm]
Time-Format [HH:mm]
Time-Format [HH:mm]
Maximum length [500]
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("X-com-zoho-invoice-organizationid", "10234695");
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/invoice/v3/projects/timeentries"
type: POST
headers: headers_data
content-type: application/json
parameters: parameters_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}");
Request request = new Request.Builder()
.url("https://www.zohoapis.com/invoice/v3/projects/timeentries")
.post(body)
.addHeader("X-com-zoho-invoice-organizationid", "10234695")
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'POST',
headers: {
'X-com-zoho-invoice-organizationid': '10234695',
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f',
'content-type': 'application/json'
},
body: '{"field1":"value1","field2":"value2"}'
};
fetch('https://www.zohoapis.com/invoice/v3/projects/timeentries', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}"
headers = {
'X-com-zoho-invoice-organizationid': "10234695",
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
'content-type': "application/json"
}
conn.request("POST", "/invoice/v3/projects/timeentries", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "POST",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/invoice/v3/projects/timeentries",
"headers": {
"X-com-zoho-invoice-organizationid": "10234695",
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
"content-type": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({field1: 'value1', field2: 'value2'}));
req.end();
curl --request POST \
--url https://www.zohoapis.com/invoice/v3/projects/timeentries \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'X-com-zoho-invoice-organizationid: 10234695' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"project_id": "Network Distribution",
"task_id": "460000000044001",
"user_id": "460000000024003",
"log_date": "2013-09-17",
"log_time": " ",
"begin_time": "10:00",
"end_time": "15:00",
"is_billable": true,
"notes": " ",
"start_timer": " "
}
{
"code": 0,
"message": "Your timesheet entry has been added.",
"time_entry": {
"time_entry_id": "460000000044021",
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"user_id": "460000000024003",
"user_name": "John David",
"is_current_user": true,
"log_date": "2013-09-17",
"begin_time": "03:00",
"end_time": "04:00",
"log_time": "05:00",
"is_billable": true,
"billed_status": "unbilled",
"invoice_id": "",
"notes": " ",
"timer_started_at": " ",
"timer_started_at_utc_time": "",
"timer_duration_in_minutes": " ",
"timer_duration_in_seconds": "",
"created_time": "2013-09-11T18:05:27+0530",
"timesheet_custom_fields": ""
}
}
List time entries.
List all time entries with pagination.
OAuth Scope : ZohoInvoice.projects.READ
Query Parameters
Date.All
, Date.Today
, Date.ThisWeek
, Date.ThisMonth
, Date.ThisQuarter
, Date.ThisYear
, Date.PreviousDay
, Date.PreviousWeek
, Date.PreviousMonth
, Date.PreviousQuarter
, Date.PreviousYear
, Date.CustomDate
, Status.Unbilled
and Status.Invoiced
project_name
, task_name
, user_name
, log_date
, timer_started_at
and customer_name
headers_data = Map();
headers_data.put("X-com-zoho-invoice-organizationid", "10234695");
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/invoice/v3/projects/timeentries"
type: GET
headers: headers_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/invoice/v3/projects/timeentries")
.get()
.addHeader("X-com-zoho-invoice-organizationid", "10234695")
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'GET',
headers: {
'X-com-zoho-invoice-organizationid': '10234695',
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/invoice/v3/projects/timeentries', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = {
'X-com-zoho-invoice-organizationid': "10234695",
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
conn.request("GET", "/invoice/v3/projects/timeentries", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "GET",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/invoice/v3/projects/timeentries",
"headers": {
"X-com-zoho-invoice-organizationid": "10234695",
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request GET \
--url https://www.zohoapis.com/invoice/v3/projects/timeentries \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'X-com-zoho-invoice-organizationid: 10234695'
{
"code": 0,
"message": "success",
"time_entries": [
{
"time_entry_id": "460000000044021",
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"user_id": "460000000024003",
"is_current_user": true,
"user_name": "John David",
"log_date": "2013-09-17",
"begin_time": "03:00",
"end_time": "04:00",
"log_time": "05:00",
"is_billable": true,
"billed_status": "unbilled",
"invoice_id": "",
"notes": " ",
"timer_started_at": " ",
"timer_duration_in_minutes": " ",
"created_time": "2013-09-11T18:05:27+0530"
},
{...},
{...}
]
}
Delete time entries
Deleting time entries.
OAuth Scope : ZohoInvoice.projects.DELETE
headers_data = Map();
headers_data.put("X-com-zoho-invoice-organizationid", "10234695");
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/invoice/v3/projects/timeentries"
type: DELETE
headers: headers_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/invoice/v3/projects/timeentries")
.delete(null)
.addHeader("X-com-zoho-invoice-organizationid", "10234695")
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'DELETE',
headers: {
'X-com-zoho-invoice-organizationid': '10234695',
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/invoice/v3/projects/timeentries', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = {
'X-com-zoho-invoice-organizationid': "10234695",
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
conn.request("DELETE", "/invoice/v3/projects/timeentries", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "DELETE",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/invoice/v3/projects/timeentries",
"headers": {
"X-com-zoho-invoice-organizationid": "10234695",
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request DELETE \
--url https://www.zohoapis.com/invoice/v3/projects/timeentries \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'X-com-zoho-invoice-organizationid: 10234695'
{
"code": 0,
"message": "The selected timesheet entries have been deleted"
}
Update time entry
Update logged time entry.
OAuth Scope : ZohoInvoice.projects.UPDATE
Arguments
Date Format [yyyy-mm-dd]
Time Format [HH:mm]
Time Format [HH:mm]
Time Format [HH:mm]
Maximum length [500]
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("X-com-zoho-invoice-organizationid", "10234695");
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021"
type: PUT
headers: headers_data
content-type: application/json
parameters: parameters_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}");
Request request = new Request.Builder()
.url("https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021")
.put(body)
.addHeader("X-com-zoho-invoice-organizationid", "10234695")
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'PUT',
headers: {
'X-com-zoho-invoice-organizationid': '10234695',
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f',
'content-type': 'application/json'
},
body: '{"field1":"value1","field2":"value2"}'
};
fetch('https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}"
headers = {
'X-com-zoho-invoice-organizationid': "10234695",
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
'content-type': "application/json"
}
conn.request("PUT", "/invoice/v3/projects/timeentries/460000000044021", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "PUT",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/invoice/v3/projects/timeentries/460000000044021",
"headers": {
"X-com-zoho-invoice-organizationid": "10234695",
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
"content-type": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({field1: 'value1', field2: 'value2'}));
req.end();
curl --request PUT \
--url https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021 \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'X-com-zoho-invoice-organizationid: 10234695' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"project_id": "Network Distribution",
"task_id": "460000000044001",
"user_id": "460000000024003",
"log_date": "2013-09-17",
"log_time": " ",
"begin_time": "10:00",
"end_time": "15:00",
"is_billable": true,
"notes": " ",
"start_timer": " "
}
{
"code": 0,
"message": "The timesheet's information has been updated.",
"time_entry": {
"time_entry_id": "460000000044021",
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"user_id": "460000000024003",
"user_name": "John David",
"is_current_user": true,
"log_date": "2013-09-17",
"begin_time": "03:00",
"end_time": "04:00",
"log_time": "05:00",
"is_billable": true,
"billed_status": "unbilled",
"invoice_id": "",
"notes": " ",
"timer_started_at": " ",
"timer_started_at_utc_time": "",
"timer_duration_in_minutes": " ",
"timer_duration_in_seconds": "",
"created_time": "2013-09-11T18:05:27+0530",
"timesheet_custom_fields": ""
}
}
Get a time entry
Get details of a time entry.
OAuth Scope : ZohoInvoice.projects.READ
headers_data = Map();
headers_data.put("X-com-zoho-invoice-organizationid", "10234695");
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021"
type: GET
headers: headers_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021")
.get()
.addHeader("X-com-zoho-invoice-organizationid", "10234695")
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'GET',
headers: {
'X-com-zoho-invoice-organizationid': '10234695',
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = {
'X-com-zoho-invoice-organizationid': "10234695",
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
conn.request("GET", "/invoice/v3/projects/timeentries/460000000044021", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "GET",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/invoice/v3/projects/timeentries/460000000044021",
"headers": {
"X-com-zoho-invoice-organizationid": "10234695",
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request GET \
--url https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021 \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'X-com-zoho-invoice-organizationid: 10234695'
{
"code": 0,
"message": "success",
"time_entry": {
"time_entry_id": "460000000044021",
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"user_id": "460000000024003",
"user_name": "John David",
"is_current_user": true,
"log_date": "2013-09-17",
"begin_time": "03:00",
"end_time": "04:00",
"log_time": "05:00",
"is_billable": true,
"billed_status": "unbilled",
"invoice_id": "",
"notes": " ",
"timer_started_at": " ",
"timer_started_at_utc_time": "",
"timer_duration_in_minutes": " ",
"timer_duration_in_seconds": "",
"created_time": "2013-09-11T18:05:27+0530",
"timesheet_custom_fields": ""
}
}
Delete time entry
Deleting a logged time entry.
OAuth Scope : ZohoInvoice.projects.DELETE
headers_data = Map();
headers_data.put("X-com-zoho-invoice-organizationid", "10234695");
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021"
type: DELETE
headers: headers_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021")
.delete(null)
.addHeader("X-com-zoho-invoice-organizationid", "10234695")
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'DELETE',
headers: {
'X-com-zoho-invoice-organizationid': '10234695',
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = {
'X-com-zoho-invoice-organizationid': "10234695",
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
conn.request("DELETE", "/invoice/v3/projects/timeentries/460000000044021", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "DELETE",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/invoice/v3/projects/timeentries/460000000044021",
"headers": {
"X-com-zoho-invoice-organizationid": "10234695",
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request DELETE \
--url https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021 \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'X-com-zoho-invoice-organizationid: 10234695'
{
"code": 0,
"message": "The time entry has been deleted."
}
Start timer
Start tracking time spent.
OAuth Scope : ZohoInvoice.projects.CREATE
headers_data = Map();
headers_data.put("X-com-zoho-invoice-organizationid", "10234695");
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021/timer/start"
type: POST
headers: headers_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021/timer/start")
.post(null)
.addHeader("X-com-zoho-invoice-organizationid", "10234695")
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'POST',
headers: {
'X-com-zoho-invoice-organizationid': '10234695',
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021/timer/start', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = {
'X-com-zoho-invoice-organizationid': "10234695",
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
conn.request("POST", "/invoice/v3/projects/timeentries/460000000044021/timer/start", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "POST",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/invoice/v3/projects/timeentries/460000000044021/timer/start",
"headers": {
"X-com-zoho-invoice-organizationid": "10234695",
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request POST \
--url https://www.zohoapis.com/invoice/v3/projects/timeentries/460000000044021/timer/start \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'X-com-zoho-invoice-organizationid: 10234695'
{
"code": 0,
"message": "The timer has been started.",
"time_entry": {
"time_entry_id": "460000000044021",
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"user_id": "460000000024003",
"user_name": "John David",
"is_current_user": true,
"log_date": "2013-09-17",
"begin_time": "03:00",
"end_time": "04:00",
"log_time": "05:00",
"is_billable": true,
"billed_status": "unbilled",
"invoice_id": "",
"notes": " ",
"timer_started_at": " ",
"timer_started_at_utc_time": "",
"timer_duration_in_minutes": " ",
"timer_duration_in_seconds": "",
"created_time": "2013-09-11T18:05:27+0530",
"timesheet_custom_fields": ""
}
}
Stop timer
Stop tracking time, say taking a break or leaving.
OAuth Scope : ZohoInvoice.projects.CREATE
headers_data = Map();
headers_data.put("X-com-zoho-invoice-organizationid", "10234695");
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/invoice/v3/projects/timeentries/timer/stop"
type: POST
headers: headers_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/invoice/v3/projects/timeentries/timer/stop")
.post(null)
.addHeader("X-com-zoho-invoice-organizationid", "10234695")
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'POST',
headers: {
'X-com-zoho-invoice-organizationid': '10234695',
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/invoice/v3/projects/timeentries/timer/stop', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = {
'X-com-zoho-invoice-organizationid': "10234695",
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
conn.request("POST", "/invoice/v3/projects/timeentries/timer/stop", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "POST",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/invoice/v3/projects/timeentries/timer/stop",
"headers": {
"X-com-zoho-invoice-organizationid": "10234695",
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request POST \
--url https://www.zohoapis.com/invoice/v3/projects/timeentries/timer/stop \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'X-com-zoho-invoice-organizationid: 10234695'
{
"code": 0,
"message": "Timer has been stopped successfully.",
"time_entry": {
"time_entry_id": "460000000044021",
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"user_id": "460000000024003",
"user_name": "John David",
"is_current_user": true,
"log_date": "2013-09-17",
"begin_time": "03:00",
"end_time": "04:00",
"log_time": "05:00",
"is_billable": true,
"billed_status": "unbilled",
"invoice_id": "",
"notes": " ",
"timer_started_at": " ",
"timer_started_at_utc_time": "",
"timer_duration_in_minutes": " ",
"timer_duration_in_seconds": "",
"created_time": "2013-09-11T18:05:27+0530",
"timesheet_custom_fields": ""
}
}
Get timer
Get current running timer.
OAuth Scope : ZohoInvoice.projects.READ
headers_data = Map();
headers_data.put("X-com-zoho-invoice-organizationid", "10234695");
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/invoice/v3/projects/timeentries/runningtimer/me"
type: GET
headers: headers_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/invoice/v3/projects/timeentries/runningtimer/me")
.get()
.addHeader("X-com-zoho-invoice-organizationid", "10234695")
.addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'GET',
headers: {
'X-com-zoho-invoice-organizationid': '10234695',
Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
}
};
fetch('https://www.zohoapis.com/invoice/v3/projects/timeentries/runningtimer/me', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("www.zohoapis.com")
headers = {
'X-com-zoho-invoice-organizationid': "10234695",
'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
conn.request("GET", "/invoice/v3/projects/timeentries/runningtimer/me", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "GET",
"hostname": "www.zohoapis.com",
"port": null,
"path": "/invoice/v3/projects/timeentries/runningtimer/me",
"headers": {
"X-com-zoho-invoice-organizationid": "10234695",
"Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request GET \
--url https://www.zohoapis.com/invoice/v3/projects/timeentries/runningtimer/me \
--header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
--header 'X-com-zoho-invoice-organizationid: 10234695'
{
"code": 0,
"message": "success",
"time_entry": {
"time_entry_id": "460000000044021",
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"user_id": "460000000024003",
"user_name": "John David",
"is_current_user": true,
"log_date": "2013-09-17",
"begin_time": "03:00",
"end_time": "04:00",
"log_time": "05:00",
"is_billable": true,
"billed_status": "unbilled",
"invoice_id": "",
"notes": " ",
"timer_started_at": " ",
"timer_started_at_utc_time": "",
"timer_duration_in_minutes": " ",
"timer_duration_in_seconds": "",
"created_time": "2013-09-11T18:05:27+0530",
"timesheet_custom_fields": ""
}
}