API Docs
/
No Results Found
Projects

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.
Show Sub-Attributes arrow
customfield_id
long
value
string
Value of the Custom Field
created_time
string
Time of project creation.
users
array
Associated user details list.
Show Sub-Attributes arrow
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.

Example

{ "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.
Show Sub-Attributes arrow
customfield_id
long
value
string
Value of the Custom Field
users
array
Associated user details list.
Show Sub-Attributes arrow
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.

Request Example

Click to copy
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"}'

Body Parameters

Click to copy
{ "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 } ] }

Response Example

{ "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.

Request Example

Click to copy
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'

Response Example

{ "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.
Show Sub-Attributes arrow
customfield_id
long
value
string
Value of the Custom Field

Request Example

Click to copy
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"}'

Body Parameters

Click to copy
{ "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" } ] }

Response Example

{ "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.

Request Example

Click to copy
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'

Response Example

{ "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.

Request Example

Click to copy
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'

Response Example

{ "code": 0, "message": "The project has been deleted." }

Make a project active

Mark a project as active.

Request Example

Click to copy
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'

Response Example

{ "code": 0, "message": "The project has been marked as active." }

Make a project inactive

Mark a project as inactive.

Request Example

Click to copy
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'

Response Example

{ "code": 0, "message": "The project has been marked as inactive." }