Tasks
A project comprises of a single or multiple tasks that need to be completed. You need a task to the project before you log time.
Download Tasks OpenAPI Document
  
            End Points
          
          
              Add a task
                
              
              
              List tasks
                
              
              
              Update a task
                
              
              
              Get a task
                
              
              
              Delete Task
                
              
              
          
        Attribute
 project_id 
           string 
            Unique ID of the project generated by the server.
       task_id 
           string 
            Unique ID of the task generated by the server.
       currency_id 
           string 
            The currenct id of the currency
       customer_id 
           string 
            Customer ID of the customer for whom the task is created.
       task_name 
           string 
            The name of the task. 
      Max-length [100] project_name 
           string 
            The name of the project
       customer_name 
           string 
            Name of the customer to whom the task is created.
       billed_hours 
           double 
            The total hours that are billed.
       log_time 
           double 
            Total hours logged in the project.
       un_billed_hours 
           double 
            Total hours that are unbilled.
      {
    "project_id": "90300000072369",
    "task_id": "90300000072369",
    "currency_id": 982000000000190,
    "customer_id": "903000000000099",
    "task_name": "Painting",
    "project_name": "Furniture Manufacturing",
    "customer_name": "Sujin Kumar",
    "billed_hours": "12:06",
    "log_time": "13:06",
    "un_billed_hours": "01:00"
}
          Add a task
            The task has been added.
              
              OAuth Scope : ZohoBooks.projects.CREATE
          
Arguments
 task_name 
           string 
            
              (Required) 
            
        The name of the task. 
      Max-length [100] description 
           string 
            The description of the project.
       rate 
           integer 
            Hourly rate for a task.
       budget_hours 
           integer 
            Task budget hours.
      Path Parameters
 project_id 
           string 
            
              (Required) 
            
        Unique identifier of the project.
      Query Parameters
 organization_id 
           string 
            
              (Required) 
            
        ID of the organization
      parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/projects/90300000072369/tasks?organization_id=10234695"
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/books/v3/projects/90300000072369/tasks?organization_id=10234695")
  .post(body)
  .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
  .addHeader("content-type", "application/json")
  .build();
Response response = client.newCall(request).execute();
              const options = {
  method: 'POST',
  headers: {
    Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f',
    'content-type': 'application/json'
  },
  body: '{"field1":"value1","field2":"value2"}'
};
fetch('https://www.zohoapis.com/books/v3/projects/90300000072369/tasks?organization_id=10234695', 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 = {
    'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
    'content-type': "application/json"
    }
conn.request("POST", "/books/v3/projects/90300000072369/tasks?organization_id=10234695", 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": "/books/v3/projects/90300000072369/tasks?organization_id=10234695",
  "headers": {
    "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/books/v3/projects/90300000072369/tasks?organization_id=10234695' \
  --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
  --header 'content-type: application/json' \
  --data '{"field1":"value1","field2":"value2"}'
              {
    "task_name": "Painting",
    "description": "",
    "rate": 3,
    "budget_hours": ""
}
            {
    "code": 0,
    "message": "The project information has been updated.",
    "task": {
        "project_id": "90300000072369",
        "task_id": "90300000072369",
        "currency_id": 982000000000190,
        "customer_id": "903000000000099",
        "task_name": "Painting",
        "project_name": "Furniture Manufacturing",
        "customer_name": "Sujin Kumar",
        "billed_hours": "12:06",
        "log_time": "13:06",
        "un_billed_hours": "01:00"
    }
}
                List tasks
            Get list of tasks added to a project.
              
              OAuth Scope : ZohoBooks.projects.READ
          
Path Parameters
 project_id 
           string 
            
              (Required) 
            
        Unique identifier of the project.
      Query Parameters
 organization_id 
           string 
            
              (Required) 
            
        ID of the organization
       page 
           integer 
            Page number to be fetched. Default value is 1.
       per_page 
           integer 
            Number of records to be fetched per page. Default value is 200.
      headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/projects/90300000072369/tasks?organization_id=10234695"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
              OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
  .url("https://www.zohoapis.com/books/v3/projects/90300000072369/tasks?organization_id=10234695")
  .get()
  .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
  .build();
Response response = client.newCall(request).execute();
              const options = {
  method: 'GET',
  headers: {
    Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
  }
};
fetch('https://www.zohoapis.com/books/v3/projects/90300000072369/tasks?organization_id=10234695', 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 = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }
conn.request("GET", "/books/v3/projects/90300000072369/tasks?organization_id=10234695", 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": "/books/v3/projects/90300000072369/tasks?organization_id=10234695",
  "headers": {
    "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/books/v3/projects/90300000072369/tasks?organization_id=10234695' \
  --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
              {
    "code": 0,
    "message": "success",
    "tasks": [
        {
            "project_id": "90300000072369",
            "task_id": "90300000072369",
            "currency_id": 982000000000190,
            "customer_id": "903000000000099",
            "task_name": "Painting",
            "project_name": "Furniture Manufacturing",
            "customer_name": "Sujin Kumar",
            "billed_hours": "12:06",
            "log_time": "13:06",
            "un_billed_hours": "01:00"
        },
        {...},
        {...}
    ],
    "page_context": {
        "page": 1,
        "per_page": 200,
        "has_more_page": false,
        "report_name": "Tasks",
        "sort_column": "created_time",
        "sort_order": "D"
    }
}
                Update a task
            Update the details of a task.
              
              OAuth Scope : ZohoBooks.projects.UPDATE
          
Arguments
 task_name 
           string 
            
              (Required) 
            
        The name of the task. 
      Max-length [100] description 
           string 
            The description of the project.
       rate 
           integer 
            Hourly rate for a task.
       budget_hours 
           integer 
            Task budget hours.
      Path Parameters
 project_id 
           string 
            
              (Required) 
            
        Unique identifier of the project.
       task_id 
           string 
            
              (Required) 
            
        Unique identifier of the task.
      Query Parameters
 organization_id 
           string 
            
              (Required) 
            
        ID of the organization
      parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695"
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/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695")
  .put(body)
  .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
  .addHeader("content-type", "application/json")
  .build();
Response response = client.newCall(request).execute();
              const options = {
  method: 'PUT',
  headers: {
    Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f',
    'content-type': 'application/json'
  },
  body: '{"field1":"value1","field2":"value2"}'
};
fetch('https://www.zohoapis.com/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695', 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 = {
    'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f",
    'content-type': "application/json"
    }
conn.request("PUT", "/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695", 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": "/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695",
  "headers": {
    "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/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695' \
  --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \
  --header 'content-type: application/json' \
  --data '{"field1":"value1","field2":"value2"}'
              {
    "task_name": "Painting",
    "description": "",
    "rate": 3,
    "budget_hours": ""
}
            {
    "code": 0,
    "message": "The task information has been updated.",
    "task": {
        "project_id": "90300000072369",
        "task_id": "90300000072369",
        "currency_id": 982000000000190,
        "customer_id": "903000000000099",
        "task_name": "Painting",
        "project_name": "Furniture Manufacturing",
        "customer_name": "Sujin Kumar",
        "billed_hours": "12:06",
        "log_time": "13:06",
        "un_billed_hours": "01:00"
    }
}
                Get a task
            Get the details of a task.
              
              OAuth Scope : ZohoBooks.projects.READ
          
Path Parameters
 project_id 
           string 
            
              (Required) 
            
        Unique identifier of the project.
       task_id 
           string 
            
              (Required) 
            
        Unique identifier of the task.
      Query Parameters
 organization_id 
           string 
            
              (Required) 
            
        ID of the organization
      headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
              OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
  .url("https://www.zohoapis.com/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695")
  .get()
  .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
  .build();
Response response = client.newCall(request).execute();
              const options = {
  method: 'GET',
  headers: {
    Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
  }
};
fetch('https://www.zohoapis.com/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695', 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 = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }
conn.request("GET", "/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695", 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": "/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695",
  "headers": {
    "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/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695' \
  --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
              {
    "code": 0,
    "message": "success",
    "task": {
        "project_id": "90300000072369",
        "project_name": "Furniture Manufacturing",
        "task_id": "90300000072369",
        "task_name": "Painting",
        "description": "",
        "rate": 3,
        "status": "active",
        "is_billable": true
    }
}
                Delete Task
            Delete a task added to a project.
              
              OAuth Scope : ZohoBooks.projects.DELETE
          
Path Parameters
 project_id 
           string 
            
              (Required) 
            
        Unique identifier of the project.
       task_id 
           string 
            
              (Required) 
            
        Unique identifier of the task.
      Query Parameters
 organization_id 
           string 
            
              (Required) 
            
        ID of the organization
      headers_data = Map();
headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f");
response = invokeUrl
[
url: "https://www.zohoapis.com/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695"
type: DELETE
headers: headers_data
connection: <connection_name>
];
info response;
              OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
  .url("https://www.zohoapis.com/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695")
  .delete(null)
  .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f")
  .build();
Response response = client.newCall(request).execute();
              const options = {
  method: 'DELETE',
  headers: {
    Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
  }
};
fetch('https://www.zohoapis.com/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695', 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 = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" }
conn.request("DELETE", "/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695", 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": "/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695",
  "headers": {
    "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/books/v3/projects/90300000072369/tasks/90300000072369?organization_id=10234695' \
  --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'
              {
    "code": 0,
    "message": "The task has been deleted successfully."
}