Zoho Contact Comments API

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

Operations 5

GET /api/v1/contacts/{contactId}/comments List all contact comments #
POST /api/v1/contacts/{contactId}/comments Create a contact comment #
GET /api/v1/contacts/{contactId}/comments/{commentId} Get a contact comment #
PUT /api/v1/contacts/{contactId}/comments/{commentId} Update a contact comment #
DELETE /api/v1/contacts/{contactId}/comments/{commentId} Delete a contact comment #

Documentation

Specifications

Code Examples

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zoho-contactcomments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zoho-contactcomments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Helpcenter Contact Comments 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:
  parameters:
    contactId:
      name: contactId
      in: path
      required: true
      style: simple
      explode: false
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int64
        pattern: ([0-9]+)
    commentId:
      name: commentId
      in: path
      required: true
      style: simple
      explode: false
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int64
        pattern: ([0-9]+)
  schemas:
    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
    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
  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
  responses:
    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
    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
  securitySchemes:
    iam-oauth2-schema:
      $ref: ./Common.json#/components/securitySchemes/iam-oauth2-schema
x-entity: Helpcenter