We provide scopes to manage both the project and client users.

Users API

Scope: ZohoProjects.users.{Operation}

Operations: READ, CREATE, UPDATE, DELETE, ALL

Use the ALL operation to gain the scope for all the other operations like READ, CREATE, UPDATE, and DELETE at once.

Get Project Users
GET  /restapi/portal/[PORTALID]/projects/[PROJECTID]/users/
Add Users to a Project
POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/users/
Add Users to a Portal
POST /restapi/portal/[PORTALID]/users/
Update Users in a Project
POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/users/[USERID]/
Delete User from a Project
DELETE /restapi/portal/[PORTALID]/projects/[PROJECTID]/users/[USERID]/
Get Remaining no. of Users in a Portal
GET  /restapi/portal/[PORTALID]/users/availcount/
Get Portal Users
GET  /restapi/portal/[PORTALID]/users/
Delete User from a Portal
DELETE /restapi/portal/[PORTALID]/users/[USERID]/
Update a Portal User
PATCH  /restapi/portal/[PORTALID]/users/[USERID]
Activate User
POST  /restapi/portal/[PORTALID]/users/activate/
Deactivate User
POST  /restapi/portal/[PORTALID]/users/activate/

 Get Project Users

Gets the details of all the users in a specific project.

GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/users/

Scope: ZohoProjects.users.READ

Request parameters

user_typeStringAvailability status of the user.
Allowed values:
  • active
  • inactive
  • all
By default, the active users will be listed.

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
    "users": [{
        "id": "2060758",
        "name": "Patricia Boyle",
        "active": true,
        "email": "patriciab@zillum.com",
        "role": "admin"
    }, {
        "id": "2060761",
        "name": "Einhard Klein",
        "active": false,
        "email": "dieterk@zillum.com",
        "role": "manager"
    }, {
        "id": "2063348",
        "name": "Charles Stone",
        "active": true,
        "email": "charless@zillum.com",
        "role": "employee"
    }, {
        "id": "2063354",
        "name": "Nathan Brooks",
        "active": true,
        "email": "nbrooks@zillum.com",
        "role": "contractor"
    }]
}

 Add Users to a Project

Adds users to a specific project.

POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/users/

Scope: ZohoProjects.users.CREATE

Request parameters

emailStringEmail ID of users separated by a comma.
roleStringRole of the user (manager, employee, contractor).
rateFloatThe rate per hour set for a specific user in a project based on staff based billing. Example: 20.750
user_budgetFloatEnter the budget amount.
budget_thresholdFloatSpecify the Budget Threshold.
cost_per_hourFloatSpecify the cast per hour.
revenue_budgetFloatEnter the Revenue Budget.

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
    "users": [{
        "id": "2060758",
        "name": "Patricia Boyle",
        "email": "patriciab@zillum.com",
        "role": "employee",
        "rate": "20.750"

    }]
}

 Add Users to a Portal

Adds users to a Portal

POST  /restapi/portal/[PORTALID]/users/

Scope: ZohoProjects.users.CREATE

Request parameters

emailStringEmail ID of users separated by a comma.
profileidStringProfile ID of the user to be added.
roleidStringRole id of the user.
work_projectsLongMultiple project IDs separated by comma.

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
    "users": [
        {
            "role_name": "Manager",
            "zpuid": "170876000011876001",
            "profile_name": "Manager",
            "role": "Manager",
            "profile_type": "6",
            "role_id": "170876000004915003",
            "profile_id": "170876000004602140",
            "name": "albaflores",
            "active": true,
            "id": "756839327",
            "email": "albaflores@zillum.com"
        }
    ]
}

 Update Users in a Project

Updates the details of a specific user in a project.

POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/users/[USERID]/

Scope: ZohoProjects.users.UPDATE

Request parameters

roleStringRole of the user (manager, employee, contractor).
rateFloatThe rate per hour set for a specific user in a project "based on staff" type billing. Eg: 20.750
cost_per_hourFloatSpecify the cast per hour.

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
    "users": [{
        "id": "2060758",
        "name": "Patricia Boyle",
        "email": "patriciab@zillum.com",
        "role": "employee",
        "rate": "20.750"
    }]
}

 Delete User from a Project

Deletes the user from a project.

DELETE  /restapi/portal/[PORTALID]/project/[PROJECTID]/users/[USERID]/

Scope: ZohoProjects.users.DELETE

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "response": "User Deleted Successfully"
}

 Get Remaining no. of Users in a Portal

Fetches the remaining no. of users to be added in a specific portal.

GET  /restapi/portal/[PORTALID]/users/availcount/

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
"available_user_count": "1"
}

 Get Portal Users

Gets the details of all users in a specific portal.

GET  /restapi/portal/[PORTALID]/users/

Scope: ZohoProjects.users.READ

Request parameters

user_typeStringAvailability status of the user.
Allowed values:
  • active
  • inactive
  • all
By default, the active users will be listed.

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "users": [
    {
      "role_name": "Manager",
      "profile_name": "manager",
      "role": "manager",
      "profile_type": "6",
      "role_id": "170876000004915003",
      "profile_id": "170876000004602140",
      "name": "Patricia Boyle",
      "active": true,
      "id": "923962",
      "invoice": "60.000",
      "email": "patricia.b@zylker.com",
      "currency_code": "USD"
    },
    {
      "role_name": "Administrator",
      "profile_name": "admin",
      "role": "admin",
      "profile_type": "2",
      "role_id": "170876000004915001",
      "profile_id": "170876000004602137",
      "name": "Eduardo Vargas",
      "active": true,
      "id": "2060557",
      "invoice": "40.000",
      "email": "eduardov@zillum.com",
      "currency_code": "USD"
    },
    {
      "role_name": "Employee",
      "profile_name": "employee",
      "role": "employee",
      "profile_type": "7",
      "role_id": "170876000004915005",
      "profile_id": "170876000004602143",
      "name": "Jasmine Frank",
      "active": true,
      "id": "2060559",
      "invoice": "0.000",
      "email": "jasminef@zillum.com",
      "currency_code": "USD"
    },
    {
      "role": "client",
      "profile_type": 3,
      "client_company_name": "Universal Events",
      "client_company_id": "170876000003941041",
      "currency_code": "USD",
      "role_name": "Client",
      "profile_name": "client",
      "role_id": "170876000004915009",
      "profile_id": "170876000004602149",
      "name": "david.henry",
      "id": "636378540",
      "invoice": "80.000",
      "email": "david.henry@yahoo.com"
    } 
	]
}

 Delete User from a Portal

Deletes the user from a portal.

DELETE  /restapi/portal/[PORTALID]/users/[USERID]/

Scope: ZohoProjects.users.DELETE

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "status": "success"
}

 Update a User in the Portal

Update a user in the portal.

PATCH  /restapi/portal/[PORTALID]/users/[USERID]

Scope ZohoProjects.users.UPDATE

Header

Content-TypeProvide the Content-Type as application/json.

Body

profile_idStringProfile ID of the user to be modified.
role_idStringRole ID of the user to be modified.
project_idsJSON array

Project IDs to be modified.

Note Project IDs that are not mentioned will be dissociated. 

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "users": [
    {
      "role_name": "Manager",
      "profile_name": "Manager",
      "role": "Manager",
      "profile_type": "6",
      "role_id": "1265885000000017003",
      "profile_id": "1265885000000015140",
      "associated_projects": [
        {
          "project_id": "1265885000000214141",
          "project_name": "Gantt Chart"
        }
      ],
      "name": "Patricia Boyle",
      "active": true,
      "id": "669857953",
      "email": "patricia@zohocorp.com"
    }
  ]
}

 Activate User

Activates a specific user in a specific portal.

POST  /restapi/portal/[PORTALID]/users/activate

Scope: ZohoProjects.users.CREATE

Request parameters

activateLongUser ID

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
 "response": "User Activated Successfully"
}

 Deactivate User

Deactivates a specific user from a specific portal.

POST  /restapi/portal/[PORTALID]/users/activate/

Scope: ZohoProjects.users.CREATE

Request parameters

deactivateLongUser ID

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
"response": "User Deactivated Successfully"
}

Clients API

Scope: ZohoProjects.clients.{Operation}

Operations: READ, CREATE, UPDATE, DELETE, ALL

Use the ALL operation to gain the scope for all the other operations like READ, CREATE, UPDATE, and DELETE at once.

Add User to a Client Company
POST  /restapi/portal/[PORTALID]/clients/[CLIENT_COMPANY_ID]/users
Add a Client Company
POST  /restapi/portal/[PORTALID]/clients/
Get Portal Clients
GET  /restapi/portal/[PORTALID]/clients/
Get Project Clients
GET  /restapi/portal/[PORTALID]/projects/[PROJECTID]/clients/
Get Project Client Details
GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/clients/[CLIENTID]/
Get Projects Associated to a Client Company
GET  /restapi/portal/[PORTALID]/clients/[CLIENTID]/projects
Add an Existing Client Company from a Portal to a Project
POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/clients/
Add a Client User to a Project
POST  /restapi/portal/[PORTALID]/clientusers/[CLIENTID/projects]
Delete a Client User from the Project
DEL  /restapi/portal/[PORTALID]/clientusers/[USERID]

 Add User to a Client Company

Adds user to an existing client company.

POST  /restapi/portal/[PORTALID]/clients/[CLIENT_COMPANY_ID]/users

Scope: ZohoProjects.users.CREATE

Request parameters

contact_email*StringEmail ID of the client user.
work_projectsLongMultiple project IDs are separated using comma.
profile_idLongSpecify Profile ID. profile_id is obtained from Get Portal Users API.
invoice_rateDoubleSpecify an invoice rate. Example 50.000

Note:

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "clients": [
    {
      "crm_account_id": "",
      "associated_projects": [
        {
          "name": "Budgetting",
          "id": 170876000000008000
        },
        {
          "name": "Logistics",
          "id": 170876000000307040
        },
        {
          "name": "Project Analysis",
          "id": 170876000000531420
        }
      ],
      "name": "Zoho ",
      "id": 170876000005492320,
      "users": [
        {
          "associated_projects": [
            {
              "name": "Budgetting",
              "id": 170876000000008000
            },
            {
              "name": "Logistics",
              "id": 170876000000307040
            }
          ],
          "name": "Patricia Boyle",
          "id": "668495355",
          "email": "patricia.b@zylker.com",
          "crm_contact_id": ""
        }
      ]
    }
  ]
}

 Add a Client Company

Adds a client company.

POST  /restapi/portal/[PORTALID]/clients/

Scope: ZohoProjects.clients.CREATE

Request parameters

name*StringName of the client company.
work_projectsLongClient company project ID. Multiple project IDs are separated using a comma.
contact_emailStringEmail address of the client company.
web_addressStringWeb address of the client company.
first_addressStringFirst address of the client company.
second_addressStringSecond address of the client company.
cityStringCity of the client company.
stateStringState of the client company.
countryStringCountry of the client company.
primary_clientBooleanAccepted values: Yes/no.
zip_codeStringZip code of the client company.

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "clients": [
    {
      "country": "United States",
      "crm_account_id": "",
      "first_address": "15/16",
      "city": "Kansas",
      "associated_projects": [
        {
          "name": "Patricia",
          "id": 170876000000008000
        },
        {
          "name": "Logistics",
          "id": 170876000000307040
        }
      ],
      "name": "Zylker",
      "second_address": "Ontaria",
      "id": 170876000005528000,
      "state": "Texas",
      "zip_code": "642032"
    }
  ]
}

 Get Portal Clients

Returns the list of client companies in the portal.

GET  /restapi/portal/[PORTALID]/clients/

Scope: ZohoProjects.clients.READ

Request parameters

indexintIndex.
rangeintRequired range.

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "clients": [
    {
      "crm_account_id": "",
      "name": "iOS 10",
      "link": {
        "associated_projects": {
          "url": "https://projects.zoho.com/restapi/portal/2063927/clients/170876000003884007/projects"
        }
      },
      "id": 170876000003884000
    },
      "id": 170876000003941060,
      "users": [
        {
          "name": "david.henry",
          "id": "636378540",
          "email": "david.henry@yahoo.com",
          "crm_contact_id": ""
        }
      ]
    },
    {
      "crm_account_id": "",
      "name": "Lexcorp",
      "link": {
        "associated_projects": {
          "url": "https://projects.zoho.com/restapi/portal/2063927/clients/170876000003965017/projects"
        }
      },
    {
      "crm_account_id": "",
      "name": "Leester Donnelly and Sons",
      "link": {
        "associated_projects": {
          "url": "https://projects.zoho.com/restapi/portal/2063927/clients/170876000004176039/projects"
        }
      },
        {
          "associated_projects": [
            {
              "name": "Donnelly Apartments Construction",
              "id": 170876000004154020
            },
            {
              "name": "Project template test",
              "id": 170876000004881120
            },
            {
              "name": "IDC Project template test",
              "id": 170876000004885020
            },
            {
              "name": "Daymart Complex Construction",
              "id": 170876000004921000
            },
            {
              "name": "Office Renovation",
              "id": 170876000005047000
            },
            {
              "name": "Nakshatra Duplex",
              "id": 170876000005838000
            },
        {
          "associated_projects": [
            {
              "name": "Donnelly Apartments Construction",
              "id": 170876000004154020
            },
            {
              "name": "Project template test",
              "id": 170876000004881120
            },
            {
              "name": "IDC Project template test",
              "id": 170876000004885020
            },
        {
          "associated_projects": [
            {
              "name": "Donnelly Apartments Construction",
              "id": 170876000004154020
            },
            {
              "name": "Project template test",
              "id": 170876000004881120
            },
      "id": 170876000004241000,
      "users": [
        {
          "name": "mike",
          "id": "641626736",
          "email": "mike@languagehub.com",
          "crm_contact_id": ""
        },
        {
          "name": "nolan",
          "id": "641627027",
          "email": "nolan@languagehub.com",
          "crm_contact_id": ""
        }
      ]
    },
    {
      "crm_account_id": "2277976000000183015",
      "name": "Home Style",
      "link": {
        "associated_projects": {
          "url": "https://projects.zoho.com/restapi/portal/2063927/clients/170876000004487005/projects"
        }
      },
      "id": 170876000004487000,
      "users": [
        {
          "associated_projects": [
            {
              "name": "Business Breakfast meeting",
              "id": 170876000004028000
            },
    {
      "crm_account_id": "",
      "name": "Happy Pets",
      "link": {
        "associated_projects": {
          "url": "https://projects.zoho.com/restapi/portal/2063927/clients/170876000004625003/projects"
        }
      },
      "id": 170876000004625000
    },
      "id": 170876000004711000
    },
    {
      "crm_account_id": "2277976000000337042",
      "name": "Kevin and Sarah's",
      "link": {
        "associated_projects": {
          "url": "https://projects.zoho.com/restapi/portal/2063927/clients/170876000004711023/projects"
        }
      },
      "id": 170876000004711000,
      "users": [

   {
      "crm_account_id": "2277976000000349032",
      "name": "Frank's House Construction",
      "link": {
        "associated_projects": {
          "url": "https://projects.zoho.com/restapi/portal/2063927/clients/170876000004734015/projects"
        }
      },
      "id": 170876000004734000,
      "users": [
        {
          "associated_projects": [
            {
              "name": "Frank-House Construction",
              "id": 170876000004736000
            }
          ],
          "name": "frankxavier006",
          "id": "650334175",
          "email": "frankxavier006@gmail.com",
          "crm_contact_id": "2277976000000349028"
        }
      ]
    },
      "id": 170876000004747000
    },
    {
      "crm_account_id": "2277976000000360019",
      "name": "Frank- House Construction",
      "link": {
        "associated_projects": {
          "url": "https://projects.zoho.com/restapi/portal/2063927/clients/170876000004750015/projects"
        }
      },
      "id": 170876000004750000,
      "users": [
        {
          "name": "frank006",
          "id": "650838421",
          "email": "frank006@gmail.com",
          "crm_contact_id": "2277976000000360023"
        }
      ]
    },
      "id": 170876000004850020
    },
    {
      "crm_account_id": "",
      "name": "Zoho ",
      "link": {
        "associated_projects": {
          "url": "https://projects.zoho.com/restapi/portal/2063927/clients/170876000005492312/projects"
        }
      },
      "id": 170876000005492320,
      "users": [
        {
          "associated_projects": [
    {
      "country": "United States",
      "crm_account_id": "",
      "city": "Austin",
      "name": "Rufus ",
      "link": {
        "associated_projects": {
          "url": "https://projects.zoho.com/restapi/portal/2063927/clients/170876000005531001/projects"
        }
      },
      "id": 170876000005531000,
      "state": "Tamil Nadu",
      "zip_code": "600072",
      "users": [
        {
          "associated_projects": [
            {
              "name": "Donnelly Apartments Construction",
              "id": 170876000004154020
            }
          ],
          "name": "rufus.david92 rufus.david92",
          "id": "649332655",
          "email": "rufus.david92@gmail.com",
          "crm_contact_id": ""
        }
      ]
    },
    {
      "country": "United States of America",
      "crm_account_id": "",
      "first_address": "21, Maple Bay View Lane",
      "city": "San Jose",
      "name": "Dine n Dance",
      "link": {
        "associated_projects": {
          "url": "https://projects.zoho.com/restapi/portal/2063927/clients/170876000005540541/projects"
        }
      },
      "second_address": "Santa Clara",
      "id": 170876000005540540,
      "state": "California",
      "zip_code": "95110",
      "users": [
        {
          "associated_projects": [
            {
              "name": "Brochure design",
              "id": 170876000002843000
            },
            {
              "name": "Business Breakfast meeting",
              "id": 170876000004028000
            }
          ],
          "name": "support",
          "id": "641626759",
          "email": "support@dinendance.com",
          "crm_contact_id": ""
        },
        {
          "associated_projects": [
            {
              "name": "Brochure design",
              "id": 170876000002843000
            }
          ],
          "name": "duke.j",
          "id": "675926474",
          "email": "duke.j@dinendance.com",
          "crm_contact_id": ""
        }
      ]
    }
  ]
}

 Get Project Clients

Returns the list of client companies associated with a specific project ID.

GET  /restapi/portal/[PORTALID]/projects/[PROJECTID]/clients/

Scope: ZohoProjects.clients.READ

Request parameters

indexintStarting index of the client company.
rangeintRequired range.

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "clients": [
    {
      "crm_account_id": "",
      "name": "Leester Donnelly and Sons",
      "id": 170876000004176030,
      "users": [
        {
          "name": "Pearlyn Anugraha",
          "id": "41961758",
          "email": "pearlynjohnson@gmail.com",
          "crm_contact_id": ""
        },
        {
          "name": "kelvinw",
          "id": "640012075",
          "email": "kelvinw@donnelly.com",
          "crm_contact_id": ""
        },
        {
          "name": "delphinm",
          "id": "640012842",
          "email": "delphinm@donnelly.com",
          "crm_contact_id": ""
        },
        {
          "name": "leesterd",
          "id": "640013412",
          "email": "leesterd@donnelly.com",
          "crm_contact_id": ""
        }
      ]
    }
  ]
}

 Get Project Client Details

Returns the details of the client ID mentioned in the URL.

GET  /restapi/portal/[PORTALID]/projects/[PROJECTID]/clients/[CLIENTID]/

Scope: ZohoProjects.clients.READ

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "clients": [
    {
      "crm_account_id": "",
      "name": "Leester Donnelly and Sons",
      "id": 170876000004176030,
      "users": [
        {
          "name": "Pearlyn Anugraha",
          "id": "41961758",
          "email": "pearlynjohnson@gmail.com",
          "crm_contact_id": ""
        },
        {
          "name": "kelvinw",
          "id": "640012075",
          "email": "kelvinw@donnelly.com",
          "crm_contact_id": ""
        },
        {
          "name": "delphinm",
          "id": "640012842",
          "email": "delphinm@donnelly.com",
          "crm_contact_id": ""
        },
        {
          "name": "leesterd",
          "id": "640013412",
          "email": "leesterd@donnelly.com",
          "crm_contact_id": ""
        }
      ]
    }
  ]
}

 Get Projects Associated to a Client Company

Returns the projects associated to a client company.

GET  /restapi/portal/[PORTALID]/clients/[CLIENT USER ID]/projects

Scope: ZohoProjects.users.READ

Request parameters

indexintIndex.
rangeintRequired range.

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "associated_projects": [
    {
      "name": "Zapier Integration",
      "id": 170876000003686000
    },
    {
      "name": "Donnelly Apartments Construction",
      "id": 170876000004154020
    },
    {
      "name": "Project template test",
      "id": 170876000004881120
    },
    {
      "name": "IDC Project template test",
      "id": 170876000004885020
    },
    {
      "name": "Daymart Complex Construction",
      "id": 170876000004921000
    },
    {
      "name": "Office Renovation",
      "id": 170876000005047000
    },
    {
      "name": "Nakshatra Duplex",
      "id": 170876000005838000
    },
    {
      "name": "Supermarket Construction",
      "id": 170876000005962020
    }
  ]
}

 Add an Existing Client Company in a Portal to a Project

Adds an existing client company to a project.

POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/clients/

Scope: ZohoProjects.clients.CREATE

Request parameters

company_idlongClient company ID
primary_clientBooleanAccepted values: Yes/no.

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "clients": [
    {
      "country": "US",
      "crm_account_id": "",
      "first_address": "8, Bay View Street",
      "city": "CA",
      "name": "Nexus - The Language Studio",
      "id": 170876000004241000
    }
  ]
}

 Add a Client User to a Project

Adds a client user in project.

POST  /restapi/portal/[PORTALID]/clientusers/[CLIENT USER ID]/projects

Scope: ZohoProjects.clients.CREATE

Request parameters

projids*JSON arrayID of the projet to which the client user should be added.
clientId*StringID of the client company

* mandatory

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "response": "Client user added successfully in project(s) - ##########"
}

 Delete client user from projects

Deletes client user from projects.

DEL  /restapi/portal/[PORTALID]/clientusers/[USERID]/projects

Scope: ZohoProjects.clients.DELETE

Request parameters

projidsJSON arrayProject IDs from which the client users should be deleted.

Sample response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "response": "User Deleted Successfully from project"
}