Skip to product menu
Skip to main content

Contacts 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.

All Contacts
GET /api/v3/portal/[PORTALID]/client/[CLIENTID]/contacts  
Get Project Contacts
GET /api/v3/portal/[PORTALID]/project/[PROJECTID]/client/[CLIENTID]/contacts
Create Contacts
POST /api/v3/portal/[PORTALID]/contacts
Associate Contacts
POST /api/v3/portal/[PORTALID]/project/[PROJECTID]/contacts
Dissociate Contact
DELETE /api/v3/portal/[PORTALID]/project/[PROJECTID]/contacts/[CONTACTID]
Update Contact
PATCH /api/v3/portal/[PORTALID]/contacts/[CONTACTID]
Delete Contact
DELETE /api/v3/portal/[PORTALID]/contacts/[CONTACTID]
Convert Contact to Client User
POST /api/v3/portal/[PORTALID]/contacts/[CONTACTID]

All Contacts

Fetches all client contacts from a portal.

GET /api/v3/portal/[PORTALID]/client/[CLIENTID]/contacts

Scope: ZohoProjects.users.READ

Request Parameters

index
Int
Index number of the contact.
range
Int
Range of the contacts.
search_string  
String 
Search string of the contact.    

 

 

 

Sample Response

Status: 200 Success
Content Type: application/json;charset=utf-8
[

  {

    "id": "170876000011703017",

    "email": "PedroAlon@zillum.com",

    "first_name": "Pedro",

    "last_name": "Alonso",

    "invoice_rate": "300.0",

    "clientId": "170876000004241005",

    "crm_contactId": "-1",

    "displayName": "Pedro Alonso"

  },

  {

    "id": "170876000011703005",

    "email": "cbrooks@zillum.com",

    "first_name": "Brooks",

    "last_name": "Charles",

    "invoice_rate": "230.0",

    "clientId": "170876000004241005",

    "crm_contactId": "-1",

    "displayName": "Brooks Charles"

  }

]

Get Project Contacts

Fetches all client contacts from a project.

GET /api/v3/portal/[PORTALID]/project/[PROJECTID]/client/[CLIENTID]/contacts

Scope: ZohoProjects.users.READ

Request Parameters

index     
Int     
Index number of the contact.     
range
Int
Range of the contacts.
search_string 
String 
Search string of the contact.

Sample Response​​

Status: 200 Success
Content Type: application/json;charset=utf-8
[

  {

    "id": "170876000011703017",

    "email": "PedroAlon@zillum.com",

    "first_name": "Pedro",

    "last_name": "Alonso",

    "invoice_rate": "300.0",

    "clientId": "170876000004241005",

    "crm_contactId": "-1",

    "displayName": "Pedro Alonso"

  },

  {

    "id": "170876000011703005",

    "email": "cbrooks@zillum.com",

    "first_name": "Brooks",

    "last_name": "Charles",

    "invoice_rate": "230.0",

    "clientId": "170876000004241005",

    "crm_contactId": "-1",

    "displayName": "Brooks Charles"

  }

]

Create Contacts

Creates a new client contact in the portal.

POST /api/v3/portal/[PORTALID]/contacts

Scope: ZohoProjects.users.CREATE

Request Parameters

workprojects 
JSONArray 
Array of Project IDs.
Ex. [170876000011141285, 170876000011141005]
clientId
Long
ID of the Client company.
contacts
JSONArray
Array of JSON Objects.
"first_name", "last_name", "email" and "invoice_rate" of the Client contact.
[{
    "first_name": "Alba",
    "last_name": "Flores",
    "email": "albaflores@zillum.com",
    "invoice_rate": 45
  }]
Note: "first_name", "last_name" and "email" are mandatory JSON objects.

Sample Response

Status: 201 Created
Content Type: application/json;charset=utf-8
{

  "contacts": [

    {

      "id": "170876000011707003",

      "email": "alveromorte@zillum.com",

      "first_name": "Alvero",

      "last_name": "Morte",

      "invoice_rate": "66.0",

      "clientId": "170876000004176039",

      "crm_contactId": "-1",

      "displayName": "Alvero Morte"

    }

  ],

  "error": {

    "status_code": "207",

    "method": "POST",

    "title": "EXISTING_USER_OR_CONTACT",

    "details": [

      {

        "message": "Contact is already a part of this organization",

        "field_name": "emailId",

        "field_value": "albaflores@zillum.com"

      }

    ]

  }

}

Associate Contacts

 Associate client contacts to a project. 

POST /api/v3/portal/[PORTALID]/project/[PROJECTID]/contacts

Scope: ZohoProjects.users.CREATE

Request Parameters 

contactIds 

JSONArray 

Array of client contact IDs
Ex: [170876000011707003, 170876000011703031] 

Sample Response

​Status: 204

Dissociate Contact

Dissociate a client contact from a project.

DELETE /api/v3/portal/[PORTALID]/project/[PROJECTID]/contacts/[CONTACTID] 

Scope: ZohoProjects.users.DELETE

Sample Response

​Status: 204

Update Contact 

Updates a Client contact in the portal.

PATCH /api/v3/portal/[PORTALID]/contacts/[CONTACTID]

Scope: ZohoProjects.users.UPDATE

Request body

Content Type: application/json;charset=utf-8

The below keys are passed in a JSONObject

Key Name
Data Type
Key Value
email
String
Email address of the client contact
first_name
String
First name of the client contact
last_name
String
Last name of the client contact
invoice_rate
Double
Invoice rate of the client contact
projects
JSONArray
Array of Project IDs.
Ex. [170876000011141285, 170876000011141005]

Sample input 

{
  "first_name": "Alba",
  "last_name": "Flore",
  "email": "albaflore@zillum.com",
  "invoice_rate": 45.0,
  "projects": "[\"170876000004885019\"]"
}
 
Sample Response
 
Status: 200 Success
Content Type: application/json;charset=utf-8
 

{

  "id": "170876000011703031",

  "email": "albaflore@zillum.com",

  "first_name": "Alba",

  "last_name": "Flore",

  "invoice_rate": "45.0",

  "clientId": "170876000004176039",

  "crm_contactId": "-1",

  "projects": [

    "170876000004885019"

  ],

  "displayName": "Alba Flore"

}

Delete Contact

Deletes a Client contact from a portal.

DELETE /api/v3/portal/[PORTALID]/contacts/[CONTACTID]

Scope: ZohoProjects.users.DELETE

Sample Response

​Status: 204

Convert Contact to Client User

Converts a Client contact into a Client user

POST /api/v3/portal/[PORTALID]/contacts/[CONTACTID] 

Scope: ZohoProjects.users.CREATE

Request Parameters

email
String
Email address of the user.
Note: This parameter can be passed if the email address has to be updated.
profileId
long
Profile ID of the Client user
invoice_rate
String
Rate per hour of the user
workprojects
JSONArray
Array of Project IDs.
Ex. [170876000011141285, 170876000011141005]
 

Sample Response

Status: 200 Success
Content Type: application/json;charset=utf-8
{

  "CURR_PROJID": "0",

  "CLIENTCNT": "40",

  "SUCCESS_EMAILID": [

    "HVictor@zillum.com"

  ],

  "USERLIST": [

    {

      "ISRESENDINVITE": false,

      "DISPLAYNAME": "hvictor",

      "ISUSERCONFIRMED": false,

      "CURR_USERZPUID": "170876000006163001",

      "LOGINZPUID": "170876000011703011",

      "INVOICE": "125.000",

      "EMAIL": "hvictor@zillum.com",

      "ISACTIVE": true,

      "PORTALPROFILEID": "170876000004602149",

      "PORTALPROFILENAME": "Client",

      "ISUSERCLOSED": true,

      "COMPANYNAME": "Leester Donnelly and Sons",

      "PROFILETYPE": 3,

      "COMPANYID": "170876000004176039",

      "LOGINNAME": 754852765

    }

  ],

  "USERCNT": {

    "ADMIN II": 1,

    "Moderator": 1,

    "Marketing Manager": 4,

    "Contractor": 5,

    "Employee": 28,

    "jointadmin": 37,

    "admin": 2,

    "portalusers": 103,

    "Manager": 25

  },

  "is_contact_converted": true,

  "CURR_ROLE": "jointadmin",

  "COMPANYID": "170876000004176039",

  "CURRENCY_CODE": "$",

  "ISINVINTEG": true,

  "USERSCOUNT": 1

}