Projects
A project entity allows you to maintain information about a project.
End Points
Create a project
List of all projects
Update the details of a project
Retrieve details of a project
Delete a project
Make a project active
Make a project inactive
Attribute
project_id
long
Unique ID for the project generated by the server. This is used as identifier.
project_name
string
Name of the project.
customer_id
long
Unique ID of the customer.
customer_name
string
Name of the customer.
currency_code
string
Base currency for the project.
description
string
Description about the project.
status
string
Status of the project. It can either be
active
or inactive
. billing_type
string
Type of billing for the project. Give
based_on_task_hours
as default. budget_type
string
Type of budget of the project. Possible values are
hours_per_staff
or hours_per_task
or total_project_hours
or total_project_cost
. show_to_all_users
boolean
Whether the Project is shown to all users.
project_head_id
long
Unique ID of Project Head.
project_head_name
string
Name of the Project Head.
custom_fields
array
Custom fields for a project.
customfield_id
long
value
string
Value of the Custom Field
created_time
string
Time of project creation.
users
array
Associated user details list.
user_id
long
Unique ID of the user.
is_current_user
boolean
Whether he/she is the current user. It can either be
true
or false
. name
string
Name of the user.
email
string
Email ID of the user.
user_role
string
Role of the user.
role_id
long
Unique ID for the role.
status
string
Status of the project. It can either be
active
or inactive
. rate
double
Fixed rate for user.
{
"project_id": "16367000000096055",
"project_name": "Brochure Design - Spa",
"customer_id": "16367000000096001",
"customer_name": "Kenny Digital",
"currency_code": "USD",
"description": "8.5 x 11 Pet Hotel and Spa brochure template",
"status": "active",
"billing_type": "based_on_task_hours",
"budget_type": "hours_per_task",
"show_to_all_users": true,
"project_head_id": "16367000000073071",
"project_head_name": "Tricia",
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
],
"created_time": "2017-02-28T12:30:34+0530",
"users": [
{
"user_id": "16367000000073001",
"is_current_user": true,
"name": "Will Smith",
"email": "will.smith@gmail.com",
"user_role": "admin",
"role_id": "16367000000030001",
"status": "active",
"rate": 0
}
]
}
Create a project
Create a new project.
Arguments
project_name
string
(Required)
Name of the project.
customer_id
long
(Required)
Unique ID of the customer.
description
string
Description about the project.
billing_type
string
Type of billing for the project. Give
based_on_task_hours
as default. show_to_all_users
boolean
Whether the Project is shown to all users.
project_head_id
long
Unique ID of Project Head.
custom_fields
array
Custom fields for a project.
customfield_id
long
value
string
Value of the Custom Field
users
array
Associated user details list.
user_id
long
Unique ID of the user.
is_current_user
boolean
Whether he/she is the current user. It can either be
true
or false
. name
string
Name of the user.
email
string
Email ID of the user.
user_role
string
Role of the user.
role_id
long
Unique ID for the role.
status
string
Status of the project. It can either be
active
or inactive
. rate
double
Fixed rate for user.
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("X-com-zoho-expense-organizationid", "10234695");
response = invokeUrl
[
url: "https://www.zohoapis.com/expense/v1/projects"
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/expense/v1/projects")
.post(body)
.addHeader("X-com-zoho-expense-organizationid", "10234695")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'POST',
headers: {
'X-com-zoho-expense-organizationid': '10234695',
'content-type': 'application/json'
},
body: '{"field1":"value1","field2":"value2"}'
};
fetch('https://www.zohoapis.com/expense/v1/projects', 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-expense-organizationid': "10234695",
'content-type': "application/json"
}
conn.request("POST", "/expense/v1/projects", 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": "/expense/v1/projects",
"headers": {
"X-com-zoho-expense-organizationid": "10234695",
"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/expense/v1/projects \
--header 'X-com-zoho-expense-organizationid: 10234695' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"project_name": "Brochure Design - Spa",
"customer_id": "16367000000096001",
"description": "8.5 x 11 Pet Hotel and Spa brochure template",
"billing_type": "based_on_task_hours",
"show_to_all_users": true,
"project_head_id": "16367000000073071",
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
],
"users": [
{
"user_id": "16367000000073001",
"is_current_user": true,
"name": "Will Smith",
"email": "will.smith@gmail.com",
"user_role": "admin",
"role_id": "16367000000030001",
"status": "active",
"rate": 0
}
]
}
{
"code": 0,
"message": "The project has been created.",
"project": {
"project_id": "16367000000096055",
"project_name": "Brochure Design - Spa",
"customer_id": "16367000000096001",
"customer_name": "Kenny Digital",
"currency_code": "USD",
"description": "8.5 x 11 Pet Hotel and Spa brochure template",
"status": "active",
"billing_type": "based_on_task_hours",
"budget_type": "hours_per_task",
"show_to_all_users": true,
"project_head_id": "16367000000073071",
"project_head_name": "Tricia",
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
],
"created_time": "2017-02-28T12:30:34+0530",
"users": [
{
"user_id": "16367000000073001",
"is_current_user": true,
"name": "Will Smith",
"email": "will.smith@gmail.com",
"user_role": "admin",
"role_id": "16367000000030001",
"status": "active",
"rate": 0
}
]
}
}
List of all projects
List of all projects.
headers_data = Map();
headers_data.put("X-com-zoho-expense-organizationid", "10234695");
response = invokeUrl
[
url: "https://www.zohoapis.com/expense/v1/projects"
type: GET
headers: headers_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/expense/v1/projects")
.get()
.addHeader("X-com-zoho-expense-organizationid", "10234695")
.build();
Response response = client.newCall(request).execute();
const options = {method: 'GET', headers: {'X-com-zoho-expense-organizationid': '10234695'}};
fetch('https://www.zohoapis.com/expense/v1/projects', 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-expense-organizationid': "10234695" }
conn.request("GET", "/expense/v1/projects", 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": "/expense/v1/projects",
"headers": {
"X-com-zoho-expense-organizationid": "10234695"
}
};
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/expense/v1/projects \
--header 'X-com-zoho-expense-organizationid: 10234695'
{
"code": 0,
"message": "success",
"projects": [
{
"project_id": "16367000000096055",
"project_name": "Brochure Design - Spa",
"customer_id": "16367000000096001",
"customer_name": "Kenny Digital",
"description": "8.5 x 11 Pet Hotel and Spa brochure template",
"status": "active",
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
],
"created_time": "2017-02-28T12:30:34+0530"
},
{...},
{...}
]
}
Update the details of a project
Update the details of an existing project.
Arguments
project_name
string
Name of the project.
customer_id
long
Unique ID of the customer.
description
string
Description about the project.
billing_type
string
Type of billing for the project. Give
based_on_task_hours
as default. custom_fields
array
Custom fields for a project.
customfield_id
long
value
string
Value of the Custom Field
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("X-com-zoho-expense-organizationid", "10234695");
response = invokeUrl
[
url: "https://www.zohoapis.com/expense/v1/projects/16367000000096055"
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/expense/v1/projects/16367000000096055")
.put(body)
.addHeader("X-com-zoho-expense-organizationid", "10234695")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'PUT',
headers: {
'X-com-zoho-expense-organizationid': '10234695',
'content-type': 'application/json'
},
body: '{"field1":"value1","field2":"value2"}'
};
fetch('https://www.zohoapis.com/expense/v1/projects/16367000000096055', 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-expense-organizationid': "10234695",
'content-type': "application/json"
}
conn.request("PUT", "/expense/v1/projects/16367000000096055", 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": "/expense/v1/projects/16367000000096055",
"headers": {
"X-com-zoho-expense-organizationid": "10234695",
"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/expense/v1/projects/16367000000096055 \
--header 'X-com-zoho-expense-organizationid: 10234695' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"project_name": "Brochure Design - Spa",
"customer_id": "16367000000096001",
"description": "8.5 x 11 Pet Hotel and Spa brochure template",
"billing_type": "based_on_task_hours",
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
]
}
{
"code": 0,
"message": "The project details has been updated.",
"project": {
"project_id": "16367000000096055",
"project_name": "Brochure Design - Spa",
"customer_id": "16367000000096001",
"customer_name": "Kenny Digital",
"currency_code": "USD",
"description": "8.5 x 11 Pet Hotel and Spa brochure template",
"status": "active",
"billing_type": "based_on_task_hours",
"budget_type": "hours_per_task",
"show_to_all_users": true,
"project_head_id": "16367000000073071",
"project_head_name": "Tricia",
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
],
"created_time": "2017-02-28T12:30:34+0530",
"users": [
{
"user_id": "16367000000073001",
"is_current_user": true,
"name": "Will Smith",
"email": "will.smith@gmail.com",
"user_role": "admin",
"role_id": "16367000000030001",
"status": "active",
"rate": 0
}
]
}
}
Retrieve details of a project
Details of an existing project.
headers_data = Map();
headers_data.put("X-com-zoho-expense-organizationid", "10234695");
response = invokeUrl
[
url: "https://www.zohoapis.com/expense/v1/projects/16367000000096055"
type: GET
headers: headers_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/expense/v1/projects/16367000000096055")
.get()
.addHeader("X-com-zoho-expense-organizationid", "10234695")
.build();
Response response = client.newCall(request).execute();
const options = {method: 'GET', headers: {'X-com-zoho-expense-organizationid': '10234695'}};
fetch('https://www.zohoapis.com/expense/v1/projects/16367000000096055', 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-expense-organizationid': "10234695" }
conn.request("GET", "/expense/v1/projects/16367000000096055", 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": "/expense/v1/projects/16367000000096055",
"headers": {
"X-com-zoho-expense-organizationid": "10234695"
}
};
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/expense/v1/projects/16367000000096055 \
--header 'X-com-zoho-expense-organizationid: 10234695'
{
"code": 0,
"message": "success",
"project": {
"project_id": "16367000000096055",
"project_name": "Brochure Design - Spa",
"customer_id": "16367000000096001",
"customer_name": "Kenny Digital",
"currency_code": "USD",
"description": "8.5 x 11 Pet Hotel and Spa brochure template",
"status": "active",
"billing_type": "based_on_task_hours",
"budget_type": "hours_per_task",
"show_to_all_users": true,
"project_head_id": "16367000000073071",
"project_head_name": "Tricia",
"custom_fields": [
{
"customfield_id": "46000000012845",
"value": "Normal"
}
],
"created_time": "2017-02-28T12:30:34+0530",
"users": [
{
"user_id": "16367000000073001",
"is_current_user": true,
"name": "Will Smith",
"email": "will.smith@gmail.com",
"user_role": "admin",
"role_id": "16367000000030001",
"status": "active",
"rate": 0
}
]
}
}
Delete a project
Delete an existing project.
headers_data = Map();
headers_data.put("X-com-zoho-expense-organizationid", "10234695");
response = invokeUrl
[
url: "https://www.zohoapis.com/expense/v1/projects/16367000000096055"
type: DELETE
headers: headers_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/expense/v1/projects/16367000000096055")
.delete(null)
.addHeader("X-com-zoho-expense-organizationid", "10234695")
.build();
Response response = client.newCall(request).execute();
const options = {method: 'DELETE', headers: {'X-com-zoho-expense-organizationid': '10234695'}};
fetch('https://www.zohoapis.com/expense/v1/projects/16367000000096055', 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-expense-organizationid': "10234695" }
conn.request("DELETE", "/expense/v1/projects/16367000000096055", 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": "/expense/v1/projects/16367000000096055",
"headers": {
"X-com-zoho-expense-organizationid": "10234695"
}
};
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/expense/v1/projects/16367000000096055 \
--header 'X-com-zoho-expense-organizationid: 10234695'
{
"code": 0,
"message": "The project has been deleted."
}
Make a project active
Mark a project as active.
headers_data = Map();
headers_data.put("X-com-zoho-expense-organizationid", "10234695");
response = invokeUrl
[
url: "https://www.zohoapis.com/expense/v1/projects/16367000000096055/active"
type: POST
headers: headers_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/expense/v1/projects/16367000000096055/active")
.post(null)
.addHeader("X-com-zoho-expense-organizationid", "10234695")
.build();
Response response = client.newCall(request).execute();
const options = {method: 'POST', headers: {'X-com-zoho-expense-organizationid': '10234695'}};
fetch('https://www.zohoapis.com/expense/v1/projects/16367000000096055/active', 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-expense-organizationid': "10234695" }
conn.request("POST", "/expense/v1/projects/16367000000096055/active", 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": "/expense/v1/projects/16367000000096055/active",
"headers": {
"X-com-zoho-expense-organizationid": "10234695"
}
};
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/expense/v1/projects/16367000000096055/active \
--header 'X-com-zoho-expense-organizationid: 10234695'
{
"code": 0,
"message": "The project has been marked as active."
}
Make a project inactive
Mark a project as inactive.
headers_data = Map();
headers_data.put("X-com-zoho-expense-organizationid", "10234695");
response = invokeUrl
[
url: "https://www.zohoapis.com/expense/v1/projects/16367000000096055/inactive"
type: POST
headers: headers_data
connection: <connection_name>
]
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.zohoapis.com/expense/v1/projects/16367000000096055/inactive")
.post(null)
.addHeader("X-com-zoho-expense-organizationid", "10234695")
.build();
Response response = client.newCall(request).execute();
const options = {method: 'POST', headers: {'X-com-zoho-expense-organizationid': '10234695'}};
fetch('https://www.zohoapis.com/expense/v1/projects/16367000000096055/inactive', 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-expense-organizationid': "10234695" }
conn.request("POST", "/expense/v1/projects/16367000000096055/inactive", 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": "/expense/v1/projects/16367000000096055/inactive",
"headers": {
"X-com-zoho-expense-organizationid": "10234695"
}
};
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/expense/v1/projects/16367000000096055/inactive \
--header 'X-com-zoho-expense-organizationid: 10234695'
{
"code": 0,
"message": "The project has been marked as inactive."
}