Zoho ContactComments API

The ContactComments API from Zoho — 2 operation(s) for contactcomments.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-contactcomments-api-openapi.yml Raw ↑
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