openapi: 3.1.0 info: title: Helpcenter ContactComments API version: 1.0.0 tags: - name: ContactComments paths: /api/v1/contacts/{contactId}/comments: get: tags: - ContactComments summary: List all contact comments description: This API lists a particular number of comments recorded on a contact, based on the limit specified. operationId: getContactComments parameters: - name: include in: query description: Secondary information related to the comments. Value allowed is @mentions@, which returns the details of users mentioned in the comments. required: false style: simple explode: true schema: type: - 'null' - array description: Secondary information related to the comments. Value allowed is @mentions@, which returns the details of users mentioned in the comments. items: type: - string - 'null' enum: - mentions maxLength: 100 minLength: 0 uniqueItems: true - name: limit in: query description: No. of comments to fetch required: false style: form explode: true schema: type: - string - 'null' - integer format: int32 description: No. of comments to fetch maximum: 100 minimum: 1 pattern: ([0-9]+) - name: from in: query description: Index number starting from which the comments must be fetched required: false style: form explode: true schema: type: - string - 'null' - integer format: int32 description: Index number starting from which the comments must be fetched pattern: ([0-9]+) - name: sortBy in: query description: 'sortby can be @commentedTime@. default order : commentedTime in descending order , prefix @-@ denotes desc' required: false style: form explode: true schema: type: - string - 'null' description: 'sortby can be @commentedTime@. default order : commentedTime in descending order , prefix @-@ denotes desc' enum: - commentedTime maxLength: 100 minLength: 0 - $ref: '#/components/parameters/contactId' - $ref: ./Common.json#/components/parameters/orgId responses: '200': $ref: '#/components/responses/getContactComments' security: - iam-oauth2-schema: - Desk.contacts.READ x-audience: - external-public post: tags: - ContactComments summary: Create a contact comment description: This API adds a comment to a contact. operationId: createContactComment parameters: - $ref: '#/components/parameters/contactId' - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/addContactCommentRequestBody' responses: '422': $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse '200': $ref: '#/components/responses/contactCommentCommonResponse' security: - iam-oauth2-schema: - Desk.contacts.UPDATE x-audience: - external-public /api/v1/contacts/{contactId}/comments/{commentId}: get: tags: - ContactComments summary: Get a contact comment description: This API fetches a contact comment from the portal. operationId: getContactComment parameters: - name: include in: query description: Secondary information related to the comments. Value allowed is @mentions@, which returns the details of users mentioned in the comments. required: false style: simple explode: true schema: type: - 'null' - array description: Secondary information related to the comments. Value allowed is @mentions@, which returns the details of users mentioned in the comments. items: type: - string - 'null' enum: - mentions maxLength: 100 minLength: 0 uniqueItems: true - $ref: '#/components/parameters/contactId' - $ref: '#/components/parameters/commentId' - $ref: ./Common.json#/components/parameters/orgId responses: '200': $ref: '#/components/responses/getContactCommentResponse' security: - iam-oauth2-schema: - Desk.contacts.READ x-audience: - external-public put: tags: - ContactComments summary: Update a contact comment description: This API updates an existing contact comment. operationId: updateContactComment parameters: - $ref: '#/components/parameters/contactId' - $ref: '#/components/parameters/commentId' - $ref: ./Common.json#/components/parameters/orgId requestBody: $ref: '#/components/requestBodies/editContactCommentRequestBody' responses: '200': $ref: '#/components/responses/contactCommentCommonResponse' security: - iam-oauth2-schema: - Desk.contacts.UPDATE x-audience: - external-public delete: tags: - ContactComments summary: Delete a contact comment description: This API deletes an existing contact comment. operationId: deleteContactComment parameters: - $ref: '#/components/parameters/contactId' - $ref: '#/components/parameters/commentId' - $ref: ./Common.json#/components/parameters/orgId responses: '200': $ref: ./Common.json#/components/responses/emptyResponse security: - iam-oauth2-schema: - Desk.contacts.UPDATE x-audience: - external-public components: responses: contactCommentCommonResponse: description: contactCommentCommonResponse template definitions content: application/json: schema: $ref: '#/components/schemas/contactCommentCommonResponse' examples: Valid responses Definitions: value: modifiedTime: null commentedTime: 1485286523000 id: '4000000530045' contentType: plainText commenterId: '4000000008692' content: second contact comment edit commenter: firstName: Jade lastName: Tywin photoURL: https://desk.zoho.com/api/v1/agents/4000000008692/photo?orgId=292828 name: Jade Tywin roleName: LightAgent type: AGENT email: jade12tywin@zylker.com getContactCommentResponse: description: get Contact Comment Response template definitions content: application/json: schema: allOf: - $ref: '#/components/schemas/contactCommentCommonResponse' - type: object properties: mention: $ref: '#/components/schemas/mentions' examples: Valid responses Definitions: value: modifiedTime: null commentedTime: 1485286523000 id: '4000000530045' contentType: plainText commenterId: '4000000008692' content: second contact comment edit commenter: firstName: Jade lastName: Tywin photoURL: https://desk.zoho.com/api/v1/agents/4000000008692/photo?orgId=292828 name: Jade Tywin roleName: LightAgent type: AGENT email: jade12tywin@zylker.com getContactComments: description: getContactComments template definitions content: application/json: schema: allOf: - type: object properties: data: type: array items: type: object properties: mention: $ref: '#/components/schemas/mentions' - type: - 'null' - object additionalProperties: false properties: data: $ref: ./ContactComments.json#/components/schemas/dataArr required: - data examples: Valid responses Definitions: value: data: - modifiedTime: null commentedTime: 1485286523000 id: '4000000530045' contentType: plainText content: second contact comment commenterId: '4000000008692' mention: [] commenter: firstName: Jade lastName: Tywin photoURL: https://desk.zoho.com/api/v1/portalUser/4000000008692/photo?orgId=292828 name: Jade Tywin roleName: PortalUser type: END_USER email: jade12tywin@zylker.com - modifiedTime: null commentedTime: 1485286496000 id: '4000000530043' contentType: html content: First contact comment commenterId: '4000000008692' mention: [] commenter: firstName: Jade lastName: Tywin photoURL: https://desk.zoho.com/api/v1/agents/4000000008692/photo?orgId=292828 name: Jade Tywin roleName: CEO type: AGENT email: jade12tywin@zylker.com requestBodies: editContactCommentRequestBody: content: application/json: schema: type: - 'null' - object additionalProperties: false properties: content: type: - string - 'null' maxLength: 32000 minLength: 0 examples: Valid requestBody Definitions: value: content: second contact comment edit addContactCommentRequestBody: content: application/json: schema: type: - 'null' - object additionalProperties: false properties: contentType: type: - string - 'null' enum: - plainText - html maxLength: 100 minLength: 0 content: type: - string - 'null' maxLength: 32000 minLength: 0 required: - content examples: Valid requestBody Definitions: value: contentType: html content: First contact comment schemas: mentions: type: - 'null' - array items: type: - 'null' - object additionalProperties: false maxProperties: 9 minProperties: 9 properties: firstName: type: - string - 'null' maxLength: 50 minLength: 0 lastName: type: - string - 'null' maxLength: 50 minLength: 0 photoURL: type: - string - 'null' maxLength: 100 minLength: 0 pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+ offset: type: - string - 'null' - integer format: int32 pattern: ([0-9]+) length: type: - string - 'null' - integer format: int32 pattern: ([0-9]+) id: type: - string - 'null' - integer format: int64 pattern: ([0-9]+) type: type: - string - 'null' enum: - AGENT - TEAM maxLength: 100 minLength: 0 email: type: - string - 'null' maxLength: 100 minLength: 0 pattern: ^[a-zA-Z0-9\_]([a-zA-Z0-9\_\+\-\.\'&]*)@(?=.{4,256}$)(([a-zA-Z0-9]+)(([\-\_]*[a-zA-Z0-9])*)[\.])+[a-zA-Z]{2,22}$ zuid: type: - string - 'null' - integer format: int32 pattern: ([0-9]+) required: - email - firstName - id - lastName - length - offset - photoURL - type - zuid uniqueItems: false contactCommentCommonResponse: type: - 'null' - object additionalProperties: false properties: modifiedTime: type: - string - 'null' maxLength: 100 minLength: 0 pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z)) encodedContent: type: - string - 'null' maxLength: 100 minLength: 0 commentedTime: type: - string - 'null' maxLength: 100 minLength: 0 pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z)) id: type: - string - 'null' - integer format: int64 pattern: ([0-9]+) contentType: type: - string - 'null' enum: - plainText - html maxLength: 100 minLength: 0 commenterId: type: - string - 'null' - integer format: int64 pattern: ([0-9]+) content: type: - string - 'null' maxLength: 32000 minLength: 0 commenter: $ref: ./ContactComments.json#/components/schemas/commenter impersonatedUser: $ref: ./TicketComment.json#/components/schemas/impersonatedUser required: - commentedTime - commenter - commenterId - content - contentType - encodedContent - id - impersonatedUser - modifiedTime parameters: commentId: name: commentId in: path required: true style: simple explode: false schema: type: - string - 'null' - integer format: int64 pattern: ([0-9]+) contactId: name: contactId in: path required: true style: simple explode: false schema: type: - string - 'null' - integer format: int64 pattern: ([0-9]+) securitySchemes: iam-oauth2-schema: $ref: ./Common.json#/components/securitySchemes/iam-oauth2-schema x-entity: Helpcenter