Projects
A project is a series of tasks performed over a period of time, to achieve certain targets. There can be many number of people working on a single project and a project may consist of single or multiple tasks. A project is billed and charged upon a customer whom the project was taken up for.
Possible error codes:
Error Code | Message |
---|---|
1002 | Project does not exists |
20004 | Please ensure that the amount is not negative |
20077 | Expense has been recorded for this project. Hence, it cannot be deleted |
Attribute
Maximum length [100]
fixed_cost_for_project
, based_on_project_hours
, based_on_staff_hours
and based_on_task_hours
Maximum length [200]
Maximum length [100]
staff
, admin
and timesheetstaff
{
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"currency_code": "USD",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"status": "active",
"billing_type": "fixed_cost_for_project",
"rate": 5000,
"budget_type": " ",
"total_hours": "12:26",
"total_amount": 500,
"billed_hours": "12:27",
"billed_amount": 500,
"un_billed_hours": "00:00",
"un_billed_amount": 0,
"billable_hours": "12:26",
"billable_amount": 500,
"non_billable_hours": "0.00",
"non_billable_amount": 0,
"is_recurrence_associated": false,
"recurring_invoices": "",
"created_time": "2013-11-18T18:05:27+0530",
"show_in_dashboard": true,
"tasks": [
{
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"rate": 5000,
"budget_hours": "0",
"total_hours": "12:26",
"billed_hours": "12:27",
"un_billed_hours": "00:00",
"non_billable_hours": "0.00",
"status": "active",
"is_billable": true,
"task_custom_fields": ""
}
],
"users": [
{
"user_id": "460000000024003",
"is_current_user": true,
"user_name": "John David",
"email": "test@zylker.org",
"user_role": "admin",
"status": "active",
"rate": 5000,
"budget_hours": "0",
"total_hours": "12:26",
"billed_hours": "12:27",
"un_billed_hours": "00:00"
}
]
}
Create a project
Create a new project. oauthscope : ZohoInvoice.projects.CREATE
Arguments
Maximum length [100]
Maximu length [500]
fixed_cost_for_project
, based_on_project_hours
, based_on_staff_hours
and based_on_task_hours
total_project_cost
, total_project_hours
, hours_per_task
and hours_per_staff
Maximum length [100]
Maximum length [500]
Maximum length [200]
Maximum length [100]
staff
, admin
and timesheetstaff
$ curl https://invoice.zoho.com/api/v3/projects
-X POST
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Content-Type: application/json;charset=UTF-8"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
-d '{"field":"value","field":"value"}'
{
"project_name": "Network Distribution",
"customer_id": "460000000044001",
"description": "Distribution for the system of intermediaries between the producer of goods and/or services and the final user",
"billing_type": "based_on_task_hours",
"rate": " ",
"budget_type": " ",
"budget_hours": " ",
"budget_amount": " ",
"user_id": "INV-00003",
"tasks": [
{
"task_name": "INV-00003",
"description": "INV-00003",
"rate": "INV-00003",
"budget_hours": "INV-00003"
}
],
"users": [
{
"user_id": "INV-00003",
"is_current_user": true,
"user_name": "John David",
"email": "test@zylker.org",
"user_role": "admin",
"status": "active",
"rate": " ",
"budget_hours": " ",
"total_hours": "12:26",
"billed_hours": "12:27",
"un_billed_hours": "00:00"
}
]
}
{
"code": 0,
"message": "The project has been created.",
"project": {
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"currency_code": "USD",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"status": "active",
"billing_type": "fixed_cost_for_project",
"rate": 5000,
"budget_type": " ",
"total_hours": "12:26",
"total_amount": 500,
"billed_hours": "12:27",
"billed_amount": 500,
"un_billed_hours": "00:00",
"un_billed_amount": 0,
"billable_hours": "12:26",
"billable_amount": 500,
"non_billable_hours": "0.00",
"non_billable_amount": 0,
"is_recurrence_associated": false,
"recurring_invoices": "",
"created_time": "2013-11-18T18:05:27+0530",
"show_in_dashboard": true,
"tasks": [
{
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"rate": 5000,
"budget_hours": "0",
"total_hours": "12:26",
"billed_hours": "12:27",
"un_billed_hours": "00:00",
"non_billable_hours": "0.00",
"status": "active",
"is_billable": true,
"task_custom_fields": ""
}
],
"users": [
{
"user_id": "460000000024003",
"is_current_user": true,
"user_name": "John David",
"email": "test@zylker.org",
"user_role": "admin",
"status": "active",
"rate": 5000,
"budget_hours": "0",
"total_hours": "12:26",
"billed_hours": "12:27",
"un_billed_hours": "00:00"
}
]
}
}
List projects
List all projects with pagination. oauthscope : ZohoInvoice.projects.READ
Query Parameters
Status.All
, Status.Active
and Status.Inactive
project_name
, customer_name
, rate
and created_time
$ curl https://invoice.zoho.com/api/v3/projects
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
{
"code": 0,
"message": "success",
"projects": [
{
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"status": "active",
"billing_type": "fixed_cost_for_project",
"rate": 5000,
"created_time": "2013-11-18T18:05:27+0530",
"has_attachment": false,
"total_hours": "12:26",
"billable_hours": "12:26"
},
{...},
{...}
]
}
Update a project
Update details of a project. oauthscope : ZohoInvoice.projects.UPDATE
Arguments
Maximum length [100]
Maximum length [500]
fixed_cost_for_project
, based_on_project_hours
, based_on_staff_hours
and based_on_task_hours
total_project_cost
, total_project_hours
, hours_per_task
and hours_per_staff
Maximum length [100]
Maximum length [500]
Maximum length [200]
Maximum length [100]
staff
, admin
and timesheetstaff
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}
-X PUT
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Content-Type: application/json;charset=UTF-8"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
-d '{"field":"value","field":"value"}'
{
"project_name": "Network Distribution",
"customer_id": "460000000044001",
"description": "Distribution for the system of intermediaries between the producer of goods and/or services and the final user",
"billing_type": "based_on_task_hours",
"rate": " ",
"budget_type": " ",
"budget_hours": " ",
"budget_amount": " ",
"user_id": "INV-00003",
"tasks": [
{
"task_name": "INV-00003",
"description": "INV-00003",
"rate": "INV-00003",
"budget_hours": "INV-00003"
}
],
"users": [
{
"user_id": "INV-00003",
"is_current_user": true,
"user_name": "John David",
"email": "test@zylker.org",
"user_role": "admin",
"status": "active",
"rate": " ",
"budget_hours": " ",
"total_hours": "12:26",
"billed_hours": "12:27",
"un_billed_hours": "00:00"
}
]
}
{
"code": 0,
"message": "The project information has been updated.",
"project": {
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"currency_code": "USD",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"status": "active",
"billing_type": "fixed_cost_for_project",
"rate": 5000,
"budget_type": " ",
"total_hours": "12:26",
"total_amount": 500,
"billed_hours": "12:27",
"billed_amount": 500,
"un_billed_hours": "00:00",
"un_billed_amount": 0,
"billable_hours": "12:26",
"billable_amount": 500,
"non_billable_hours": "0.00",
"non_billable_amount": 0,
"is_recurrence_associated": false,
"recurring_invoices": "",
"created_time": "2013-11-18T18:05:27+0530",
"show_in_dashboard": true,
"tasks": [
{
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"rate": 5000,
"budget_hours": "0",
"total_hours": "12:26",
"billed_hours": "12:27",
"un_billed_hours": "00:00",
"non_billable_hours": "0.00",
"status": "active",
"is_billable": true,
"task_custom_fields": ""
}
],
"users": [
{
"user_id": "460000000024003",
"is_current_user": true,
"user_name": "John David",
"email": "test@zylker.org",
"user_role": "admin",
"status": "active",
"rate": 5000,
"budget_hours": "0",
"total_hours": "12:26",
"billed_hours": "12:27",
"un_billed_hours": "00:00"
}
]
}
}
Get a project
Get the details of a project. oauthscope : ZohoInvoice.projects.READ
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
{
"code": 0,
"message": "success",
"project": {
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"currency_code": "USD",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"status": "active",
"billing_type": "fixed_cost_for_project",
"rate": 5000,
"budget_type": " ",
"total_hours": "12:26",
"total_amount": 500,
"billed_hours": "12:27",
"billed_amount": 500,
"un_billed_hours": "00:00",
"un_billed_amount": 0,
"billable_hours": "12:26",
"billable_amount": 500,
"non_billable_hours": "0.00",
"non_billable_amount": 0,
"is_recurrence_associated": false,
"recurring_invoices": "",
"created_time": "2013-11-18T18:05:27+0530",
"show_in_dashboard": true,
"tasks": [
{
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"rate": 5000,
"budget_hours": "0",
"total_hours": "12:26",
"billed_hours": "12:27",
"un_billed_hours": "00:00",
"non_billable_hours": "0.00",
"status": "active",
"is_billable": true,
"task_custom_fields": ""
}
]
}
}
Delete project
Deleting a existing project. oauthscope : ZohoInvoice.projects.DELETE
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}
-X DELETE
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
{
"code": 0,
"message": "The project has been deleted."
}
Activate a project
Mark project as active oauthscope : ZohoInvoice.projects.CREATE
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/active
-X POST
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
{
"code": 0,
"message": "The selected Projects have been marked as active."
}
Deactivate a project
Marking a project as inactive. oauthscope : ZohoInvoice.projects.CREATE
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/inactive
-X POST
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
{
"code": 0,
"message": "The selected projects have been marked as inactive."
}
Clone a project
Cloning the settings of an existing project. oauthscope : ZohoInvoice.projects.CREATE
Arguments
Maximum length [100]
Maximum length [500]
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/clone
-X POST
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Content-Type: application/json;charset=UTF-8"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
-d '{"field":"value","field":"value"}'
{
"project_name": "Network Distribution",
"description": "Distribution for the system of intermediaries between the producer of goods and/or services and the final user"
}
{
"code": 0,
"message": "Project has been cloned successfully.",
"project": {
"project_id": "460000000044019",
"project_name": "REAL TIME TRAFFIC FLUX",
"customer_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"currency_code": "USD",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"status": "active",
"billing_type": "fixed_cost_for_project",
"rate": 5000,
"budget_type": " ",
"total_hours": "12:26",
"total_amount": 500,
"billed_hours": "12:27",
"billed_amount": 500,
"un_billed_hours": "00:00",
"un_billed_amount": 0,
"billable_hours": "12:26",
"billable_amount": 500,
"non_billable_hours": "0.00",
"non_billable_amount": 0,
"is_recurrence_associated": false,
"recurring_invoices": "",
"created_time": "2013-11-18T18:05:27+0530",
"show_in_dashboard": true,
"tasks": [
{
"task_id": "460000000044009",
"task_name": "Distribution Analysis",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"rate": 5000,
"budget_hours": "0",
"total_hours": "12:26",
"billed_hours": "12:27",
"un_billed_hours": "00:00",
"non_billable_hours": "0.00",
"status": "active",
"is_billable": true,
"task_custom_fields": ""
}
],
"users": [
{
"user_id": "460000000024003",
"is_current_user": true,
"user_name": "John David",
"email": "test@zylker.org",
"user_role": "admin",
"status": "active",
"rate": 5000,
"budget_hours": "0",
"total_hours": "12:26",
"billed_hours": "12:27",
"un_billed_hours": "00:00"
}
]
}
}
Assign users
Assign a users to a project. oauthscope : ZohoInvoice.projects.CREATE
Arguments
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/users
-X POST
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Content-Type: application/json;charset=UTF-8"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
-d '{"field":"value","field":"value"}'
{
"user_id": "INV-00003",
"rate": 5000,
"budget_hours": "0"
}
{
"code": 0,
"message": "Users added.",
"users": [
{
"user_id": "460000000024003",
"is_current_user": true,
"user_name": "John David",
"email": "test@zylker.org",
"user_role": "admin",
"status": "active",
"rate": 5000,
"budget_hours": "0"
},
{...},
{...}
]
}
List Users
Get list of all users associated to a project. oauthscope : ZohoInvoice.projects.READ
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/users
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
{
"code": 0,
"message": "success",
"users": [
{
"user_id": "460000000024003",
"is_current_user": true,
"user_name": "John David",
"email": "test@zylker.org",
"user_role": "admin",
"status": "active",
"rate": 5000,
"budget_hours": "0"
},
{...},
{...}
]
}
Invite user
Invite a user to the project. oauthscope : ZohoInvoice.projects.CREATE
Arguments
Maximum length [200]
Maximum length [100]
staff
, admin
and timesheetstaff
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/users/invite
-X POST
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Content-Type: application/json;charset=UTF-8"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
-d '{"field":"value","field":"value"}'
{
"user_name": "John David",
"email": "test@zylker.org",
"user_role": "admin",
"rate": " ",
"budget_hours": "0"
}
{
"code": 0,
"message": "The staff has been added.",
"users": [
{
"user_id": "460000000024003",
"user_name": "John David",
"email": "test@zylker.org",
"user_role": "admin",
"is_current_user": true
},
{...},
{...}
]
}
Update user
Update details of a user. oauthscope : ZohoInvoice.projects.UPDATE
Arguments
Maximum length [200]
staff
, admin
and timesheetstaff
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/users/{user_id}
-X PUT
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Content-Type: application/json;charset=UTF-8"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
-d '{"field":"value","field":"value"}'
{
"user_name": "John David",
"user_role": "admin",
"rate": 5000,
"budget_hours": "0"
}
{
"code": 0,
"message": "The staff information has been updated.",
"users": [
{
"user_id": "460000000024003",
"user_name": "John David",
"email": "test@zylker.org",
"user_role": "admin",
"is_current_user": true
},
{...},
{...}
]
}
Get a User
Get details of a user in project. oauthscope : ZohoInvoice.projects.READ
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/users/{user_id}
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
{
"code": 0,
"message": "success",
"users": {
"user_id": "460000000024003",
"is_current_user": true,
"user_name": "John David",
"email": "test@zylker.org",
"user_role": "admin"
}
}
Delete user
Remove user from a project. oauthscope : ZohoInvoice.projects.DELETE
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/users/{user_id}
-X DELETE
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
{
"code": 0,
"message": "The staff has been removed"
}
Post comment
Post comment to a project. oauthscope : ZohoInvoice.projects.CREATE
Arguments
Maximum length [500]
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/comments
-X POST
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Content-Type: application/json;charset=UTF-8"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
-d '{"field":"value","field":"value"}'
{
"description": "Billing based on task hours"
}
{
"code": 0,
"message": "Comments added.",
"comments": [
{
"project_id": "460000000044019",
"comment_id": "460000000044027",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"commented_by_id": "460000000024003",
"commented_by": "John David",
"date": "2013-11-18",
"date_description": "19 days ago",
"time": "6:52 PM"
},
{...},
{...}
]
}
List comments
Get comments for a project. oauthscope : ZohoInvoice.projects.READ
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/comments
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
{
"code": 0,
"message": "success",
"comments": [
{
"comment_id": "460000000044027",
"project_id": "460000000044019",
"description": "A simple algorithm is to be tested with vehicle detection application.",
"commented_by_id": "460000000024003",
"commented_by": "John David",
"is_current_user": true,
"date": "2013-11-18",
"date_description": "19 days ago",
"time": "6:52 PM"
},
{...},
{...}
]
}
Delete comment
Deleting a comment. oauthscope : ZohoInvoice.projects.DELETE
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/comments/{comment_id}
-X DELETE
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
{
"code": 0,
"message": "The comment has been deleted."
}
List invoices
Lists invoices created for this project. oauthscope : ZohoInvoice.projects.READ
Query Parameters
invoice_number
, date
, total
, balance
and created_time
$ curl https://invoice.zoho.com/api/v3/projects/{project_id}/invoices
-H "X-com-zoho-invoice-organizationid: 10234695"
-H "Authorization: Zoho-oauthtoken 1000.41d9f2cfbd1b7a8f9e314b7aff7bc2d1.8fcc9810810a216793f385b9dd6e125f"
{
"code": 0,
"message": "success",
"invoices": [
{
"invoice_id": "460000000044001",
"customer_name": "SAF Instruments Inc",
"status": "active",
"invoice_number": "INV-00004",
"reference_number": " ",
"date": "2013-11-18",
"due_date": "2013-11-19",
"total": "310.75",
"balance": "48.75",
"created_time": "2013-11-18T18:05:27+0530"
},
{...},
{...}
]
}