openapi: 3.1.0 info: title: Helpcenter ContactDeduplication API version: 1.0.0 tags: - name: ContactDeduplication paths: /api/v1/groupContactDuplicateValues: get: tags: - ContactDeduplication summary: List duplicate contacts description: This API lists the duplicate entries of a contact.The _fieldName_ parameters is mandatory in the API request

_Note:_
If you encounter a 202 status code while executing this API request, it means there are 100,000 or more contacts in the help desk portal. Matching the records and finding duplicates will be time-consuming in such a scenario. Therefore, the deduplication request will be accepted, and after the process is completed, an automated report will be sent to the user who initiated the deduplication. operationId: getDuplicateContactFieldValueCounts parameters: - $ref: '#/components/parameters/fieldName' - name: swFieldValue in: query description: Key that specifies the letter with which the field values must start required: false style: form explode: true schema: type: - string - 'null' description: Key that specifies the letter with which the field values must start maxLength: 100 minLength: 0 pattern: ^([a-z0-9*#])$ - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/from' - name: sortBy in: query description: 'Key that sorts the contacts by a specific attribute: @count@ or @fieldValue@. The default sorting order is ascending. A @-@ prefix denotes descending order of sorting' required: false style: form explode: true schema: type: - string - 'null' description: 'Key that sorts the contacts by a specific attribute: @count@ or @fieldValue@. The default sorting order is ascending. A @-@ prefix denotes descending order of sorting' enum: - count - fieldValue maxLength: 100 minLength: 0 - $ref: ./Common.json#/components/parameters/orgId responses: '404': $ref: ./Common.json#/components/responses/urlNotFoundErrorResponse '200': $ref: '#/components/responses/listDuplicateContactCountResponse' '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '202': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.contacts.READ x-audience: - external-public /api/v1/contactsDeduplication/defaultFieldName: get: tags: - ContactDeduplication summary: Get name of default field description: This API fetches the name of the field set as the default field for contact deduplication. operationId: getDefaultFieldNameForContactDeduplication parameters: - $ref: ./Common.json#/components/parameters/orgId responses: '200': $ref: '#/components/responses/getDefaultField' security: - iam-oauth2-schema: - Desk.contacts.READ x-audience: - external-public post: tags: - ContactDeduplication summary: Set default field for contact deduplication description: This API sets the field you specify as the default field for deduplicating contacts. operationId: setDefaultFieldNameForContactDeduplication parameters: - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/setDefaultField' responses: '422': $ref: ./Common.json#/components/responses/invalidDataErrorResponse '404': $ref: ./errors.json#/components/responses/commonErrorResponse '204': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.contacts.UPDATE x-audience: - external-public /api/v1/groupContacts: get: tags: - ContactDeduplication summary: List details of duplicate contacts description: This API lists all the details of duplicate contacts.The _fieldName_ and _fieldValues_ parameters are mandatory in the API request operationId: listGroupedDuplicateContacts parameters: - name: include in: query description: 'Secondary information related to the contact. Value allowed is: @accounts@' required: false style: simple explode: true schema: type: - 'null' - array description: 'Secondary information related to the contact. Value allowed is: @accounts@' items: type: - string - 'null' enum: - accounts maxLength: 100 minLength: 0 uniqueItems: true - $ref: '#/components/parameters/fieldName' - $ref: '#/components/parameters/limit' - name: sortBy in: query description: Key that sorts the contacts by a specific attribute:  !@firstName,@! !@lastName,@! !@fullName,@! !@phone,@! !@email,@! !@account,@! !@createdTime,@! !@modifiedTime@! required: false style: form explode: true schema: type: - string - 'null' description: Key that sorts the contacts by a specific attribute:  !@firstName,@! !@lastName,@! !@fullName,@! !@phone,@! !@email,@! !@account,@! !@createdTime,@! !@modifiedTime@! enum: - firstName - lastName - fullName - phone - email - createdTime - modifiedTime maxLength: 100 minLength: 0 - $ref: '#/components/parameters/from' - name: fieldValues in: query description: Actual values in each field related to the contact required: true style: form explode: true schema: type: - string - 'null' description: Actual values in each field related to the contact maxLength: 100 minLength: 0 - $ref: ./Common.json#/components/parameters/orgId responses: '422': $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse '200': $ref: '#/components/responses/listDuplicateContactResponse' security: - iam-oauth2-schema: - Desk.contacts.READ x-audience: - external-public components: parameters: from: name: from in: query description: Index number starting from which the contacts must be fetched required: false style: form explode: true schema: type: - string - 'null' - integer format: int32 description: Index number starting from which the contacts must be fetched minimum: 0 pattern: ([0-9]+) limit: name: limit in: query description: Number of contacts to fetch required: false style: form explode: true schema: type: - string - 'null' - integer format: int32 description: Number of contacts to fetch maximum: 100 minimum: 1 pattern: ([0-9]+) fieldName: name: fieldName in: query description: 'Name of the field whose values must be matched for deduplication.Values allowed are: !@firstName,@! !@lastName,@! !@email,@! !@secondaryEmail,@! !@phone,@! !@fullName,@! and !@bothEmail.@!' required: true style: form explode: true schema: type: - string - 'null' description: 'Name of the field whose values must be matched for deduplication.Values allowed are: !@firstName,@! !@lastName,@! !@email,@! !@secondaryEmail,@! !@phone,@! !@fullName,@! and !@bothEmail.@!' enum: - firstName - lastName - email - secondaryEmail - phone - fullName - bothEmail maxLength: 100 minLength: 0 responses: listDuplicateContactResponse: description: listDuplicateContactResponse template definitions content: application/json: schema: allOf: - type: object properties: data: type: array items: type: object properties: account: type: - 'null' - object additionalProperties: false maxProperties: 3 minProperties: 3 properties: website: type: - string - 'null' maxLength: 120 minLength: 0 accountName: type: - string - 'null' maxLength: 200 minLength: 0 id: type: - string - 'null' - integer format: int64 pattern: ([0-9]+) required: - accountName - id - website - type: - 'null' - object additionalProperties: false properties: data: $ref: ./ContactDeduplication.json#/components/schemas/duplicateResponseData required: - data examples: Valid responses Definitions: value: data: - fieldValue: Jade contacts: - lastName: Jade secondaryEmail: null ownerId: null type: null accountId: '1892000000091433' firstName: Jonathan photoURL: https://desk.zoho.com/api/v1/contacts/1892000000772003/photo phone: '555555' webUrl: https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38 createdTime: 1507813910000 zohoCRMContact: null id: '1892000000772003' isSpam: false customerHappiness: badPercentage: '0' okPercentage: '0' goodPercentage: '0' email: case@zylker.com - lastName: Jade secondaryEmail: null ownerId: null type: null accountId: '1892000000052077' firstName: Christ photoURL: null phone: null webUrl: https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38 createdTime: 1507813910000 zohoCRMContact: id: '1892000000772030' type: contacts_leads id: '1892000000772001' isSpam: false customerHappiness: badPercentage: '22' okPercentage: '31' goodPercentage: '47' email: jade@zylker.com - fieldValue: Christ contacts: - lastName: Jade secondaryEmail: null ownerId: null type: null accountId: '1892000000091433' firstName: Christ photoURL: https://desk.zoho.com/api/v1/contacts/1892000000772003/photo phone: '555555' webUrl: https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38 createdTime: 1507813910000 zohoCRMContact: null id: '1892000000772003' isSpam: false customerHappiness: badPercentage: '0' okPercentage: '0' goodPercentage: '0' email: case@zylker.com - lastName: Jade secondaryEmail: null ownerId: null type: null accountId: '1892000000052077' firstName: Christ photoURL: null phone: null webUrl: https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38 createdTime: 1507813910000 zohoCRMContact: id: '1892000000772030' type: contacts_leads id: '1892000000772001' isSpam: false customerHappiness: badPercentage: '22' okPercentage: '31' goodPercentage: '47' email: jade@zylker.com getDefaultField: description: getDefaultField template definitions content: application/json: schema: type: - 'null' - object additionalProperties: false properties: fieldName: type: - string - 'null' enum: - firstName - lastName - email - secondaryEmail - phone - fullName - bothEmail - null required: - fieldName examples: Valid responses Definitions: value: fieldName: email listDuplicateContactCountResponse: description: listDuplicateContactCountResponse template definitions content: application/json: schema: type: - 'null' - object additionalProperties: false properties: data: $ref: ./ContactDeduplication.json#/components/schemas/counts required: - data examples: Valid responses Definitions: value: data: - count: 16 fieldValue: Jade - count: 2 fieldValue: saran requestBodies: setDefaultField: content: application/json: schema: type: - 'null' - object additionalProperties: false properties: fieldName: type: - string - 'null' enum: - firstName - lastName - email - secondaryEmail - phone - fullName - bothEmail maxLength: 100 minLength: 0 markDefault: type: - boolean - 'null' required: - fieldName - markDefault examples: Valid requestBody Definitions: value: fieldName: email markDefault: true securitySchemes: iam-oauth2-schema: $ref: ./Common.json#/components/securitySchemes/iam-oauth2-schema x-entity: Helpcenter