Zendesk Ticket Comments API

The Ticket Comments API from Zendesk — 7 operation(s) for ticket comments.

Business capability
Customer Inquiry Management BC-430.10

Operations 7

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

PUT /api/v2/chat_file_redactions/{ticket_id} Redact attachments from a chat ticket · Zendesk Put Api V2 Chat_file_redactions Ticket_id #
Ask an LLM
“Can I permanently remove a file shared in a chat ticket?”
“Does chat attachment redaction work on active chats?”
Tell an agent destructive · confirm first
Permanently remove these chat attachments from the chat ticket.
Redact a file shared in a finished chat ticket.
PUT /api/v2/chat_redactions/{ticket_id} Redact text from a chat ticket comment · Zendesk Put Api V2 Chat_redactions Ticket_id #
Ask an LLM
“Can I scrub a credit card number someone typed into a chat?”
“What tags do I wrap around chat text I want redacted?”
Tell an agent destructive · confirm first
Redact the ID number from this chat ticket's message.
Permanently strip sensitive words from a chat comment.
PUT /api/v2/comment_redactions/{ticket_comment_id} Redact content from a ticket comment · Zendesk Put Api V2 Comment_redactions Ticket_comment_id #
Ask an LLM
“Can I remove sensitive text or attachments from a comment in the Agent Workspace?”
“How does redaction with tags in the comment's HTML body work?”
Tell an agent destructive · confirm first
Redact the marked content from this ticket comment in the Agent Workspace.
Permanently remove an attachment and a phone number from one comment.
GET /api/v2/tickets/{ticket_id}/comments List a ticket's comments · Zendesk Get Api V2 Tickets Ticket_id Comments #
Ask an LLM
“How do I read all the comments on a ticket?”
“Can I include inline images when listing comments?”
Tell an agent
List the comments on this ticket.
Show the ticket's comments with inline images set to {include_inline_images}.
PUT /api/v2/tickets/{ticket_id}/comments/{ticket_comment_id}/make_private Make a ticket comment private · Zendesk Put Api V2 Tickets Ticket_id Comments Ticket_comment_id Make_private #
Ask an LLM
“Can I hide a public reply so the requester can't see it?”
“Who can turn a public comment into an internal note?”
Tell an agent
Make this ticket comment private.
Turn one public reply into an internal note.
PUT /api/v2/tickets/{ticket_id}/comments/{ticket_comment_id}/redact Redact a string from a ticket comment · Zendesk Put Api V2 Tickets Ticket_id Comments Ticket_comment_id Redact #
Ask an LLM
“Can I remove a specific string like a social security number from a comment?”
“What replaces the characters when a string is redacted?”
Tell an agent destructive · confirm first
Redact the string 987-65-4320 from this comment.
Permanently remove one word from a ticket comment.
GET /api/v2/tickets/{ticket_id}/comments/count Count a ticket's comments · Zendesk Get Api V2 Tickets Ticket_id Comments Count #
Ask an LLM
“How many comments does a ticket have?”
“Is the comment count exact or approximate?”
Tell an agent
Count the comments on this ticket.
Tell me how many comments are on one ticket.

Documentation

📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/introduction/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/targets/targets/
📖
Documentation
https://developer.zendesk.com/api-reference/sales-crm/resources/account/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/activity_stream/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/channel_framework/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket-attachments/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/audit_logs/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/organizations/organizations/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/automations/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/bookmarks/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/brand_agents/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/brands/
📖
Documentation
https://developer.zendesk.com/api-reference/live-chat/chat-api/chats/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_comments/
📖
Documentation
https://developer.zendesk.com/api-reference/custom-data/introduction/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/custom_roles/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/custom_ticket_statuses/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/users/users/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/deletion_schedules/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/dynamic_content/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/email_notifications/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/groups/group_memberships/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/group_sla_policies/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/groups/groups/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_import/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/incremental_exports/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/job_statuses/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/locales/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/macros/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/oauth/oauth_tokens/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/organizations/organization_fields/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/organizations/organization_memberships/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/organizations/organization_subscriptions/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/push_notification_devices/
📖
Documentation
https://developer.zendesk.com/api-reference/agent-availability/omnichannel_routing_queues/omnichannel_routing_queues/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/support_addresses/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/lookup_relationships/lookup_relationships/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket-requests/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/resource_collections/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/skill_based_routing/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/satisfaction_ratings/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/satisfaction_reasons/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/search/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/sessions/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/sharing_agreements/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_skips/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/sla_policies/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/suspended_tickets/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/tags/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_audits/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_fields/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_form_statuses/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_forms/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_metrics/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/triggers/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/views/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/workspaces/

Specifications

Schemas & Data

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/zendesk:zendesk-ticket-comments-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

zendesk-ticket-comments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Zendesk Ticket Comments API
  version: '1.0'
  description: 'Operations tagged Ticket Comments across 4 of this provider''s published API definitions: chat-file-redactions-openapi-original.yml, chat-redactions-openapi-original.yml, comment-redactions-openapi-original.yml, tickets-openapi-original.yml. Each path carries the servers of the definition it was published in.'
tags:
- name: Ticket Comments
paths:
  /api/v2/chat_file_redactions/{ticket_id}:
    parameters:
    - $ref: '#/components/parameters/TicketId'
    put:
      operationId: RedactChatCommentAttachment
      tags:
      - Ticket Comments
      summary: Zendesk Put Api V2 Chat_file_redactions Ticket_id
      description: 'Permanently removes one or more chat attachments from a chat ticket.


        **Note**: This does not work on active chats. For chat tickets that predate March 2020, consider using Redact Ticket Comment In Agent Workspace.


        #### Allowed For


        - Agents


        Agent Workspace must enabled for the account. Deleting tickets must be enabled for agents.


        #### Request Body Properties


        | Name | Type | Required | Description |

        | ------------ | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

        | chat_id | string | true | The `chat_id` in the `ChatStartedEvent` event in the ticket audit. See Ticket Audits |

        | chat_indexes | array | false | The array of `chat_index` in the `ChatFileAttachment` event in the ticket audit. See Ticket Audits. Mandatory if `message_ids` is not used |

        | message_ids | array | false | The array of `message_id` in the `ChatFileAttachment` event in the ticket audit that is part of a `ChatStartedEvent` history. Used when redacting a ChatFileAttachment that is part of a conversation history. Mandatory if `chat_indexes` is not used |


        To get the required body properties, make a request to the Ticket Audits endpoint. Example response:


        ```http

        Status 200 OK

        {

        "audits": [

        "events": [

        {

        "id": 1932802680168,

        "type": "ChatStartedEvent",

        "value": {

        "visitor_id": "10502823-16EkM3T6VNq7KMd",

        "chat_id": "2109.10502823.Sjuj2YrBpXwei",

        "history": [

        {

        "chat_index": 0,

        "type": "ChatFileAttachment",

        "filename": "image1.jpg"

        },

        {

        "chat_index": 1,

        "type": "ChatFileAttachment",

        "filename": "image2.jpg"

        }

        ]

        }

        }

        ]

        ]

        }

        ```'
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketChatCommentRedactionResponse'
              examples:
                default:
                  $ref: '#/components/examples/TicketChatCommentAttachmentRedactionResponseExample'
  /api/v2/chat_redactions/{ticket_id}:
    parameters:
    - $ref: '#/components/parameters/TicketId'
    put:
      operationId: RedactChatComment
      tags:
      - Ticket Comments
      summary: Zendesk Put Api V2 Chat_redactions Ticket_id
      description: 'Permanently removes words or strings from a chat ticket''s comment.


        Wrap `` tags around the content in the chat comment you want redacted. Example:


        ```json

        {

        "text": "My ID number is 847564!"

        }

        ```


        The characters contained in the tag will be replaced by the ▇ symbol.


        **Note**: This does not work on active chats. For chat tickets that predate March 2020, consider using Redact Ticket Comment In Agent Workspace.


        #### Allowed For


        - Agents


        Agent Workspace must enabled for the account. Deleting tickets must be enabled for agents.


        #### Request Body Properties


        | Name | Type | Required | Description |

        | ------------------------ | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

        | chat_id | string | true | The `chat_id` in the `ChatStartedEvent` event in the ticket audit. See Ticket Audits |

        | chat_index | integer | false | The `chat_index` in the `ChatMessage` event in the ticket audit. See Ticket Audits. Mandatory if `message_id` is not used |

        | message_id | string | false | The `message_id` of the `ChatMessage` event in the ticket audit that is part of a `ChatStartedEvent` history. Used when redacting a ChatMessage that is part of a conversation history. Mandatory if `chat_index` is not used |

        | text | string | true | The `message` in the `ChatMessage` event in the ticket audit. See Ticket Audits. Wrap `message` with `` tags |


        To get the required body properties, make a request to the Ticket Audit endpoint. Example response:


        ```http

        Status 200 OK

        {

        "audits": [

        "events": [

        {

        "id": 1932802680168,

        "type": "ChatStartedEvent",

        "value": {

        "visitor_id": "10502823-16EkM3T6VNq7KMd",

        "chat_id": "2109.10502823.Sjuj2YrBpXwei",

        "history": [

        {

        "chat_index": 0,

        "type": "ChatMessage",

        "message": "My ID number is 847564!"

        }

        ]

        }

        }

        ]

        ]

        }

        ```'
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketChatCommentRedactionResponse'
              examples:
                default:
                  $ref: '#/components/examples/TicketChatCommentRedactionResponseExample'
  /api/v2/comment_redactions/{ticket_comment_id}:
    parameters:
    - $ref: '#/components/parameters/TicketCommentId'
    put:
      operationId: RedactTicketCommentInAgentWorkspace
      tags:
      - Ticket Comments
      summary: Zendesk Put Api V2 Comment_redactions Ticket_comment_id
      description: 'Redaction allows you to permanently remove words, strings, or attachments from a ticket comment.


        In the `html_body` of the comment, wrap the content you want redacted in `` tags. Example:


        ```json

        {

        "html_body": "

        My ID number is 847564!

        ",

        "ticket_id":100

        }

        ```


        The characters in the redact tag will be replaced by the ▇ symbol.


        To redact HTML elements such inline images, anchor tags, and links, add the `redact` tag attribute to the element as well as the `` tag to inner text, if any. Example:


        `some link`


        The `redact` attribute only redacts the tag. Any inner text will be left behind if not enclosed in a `` tag.


        Redaction is permanent and can not be undone. Data is permanently deleted from Zendesk servers with no way to recover it.


        This endpoint provides all the same functionality that the Redact String in Comment endpoint provides, plus:


        - Redaction of comments in closed tickets


        - Redaction of comments in archived tickets


        - Redaction of formatted text (bold, italics, hyperlinks)


        **Limitations**: When content is redacted from an email comment, the content is also redacted from the original email through a background job. It may take a while for the changes to be completed.


        **Note**: We recommend using this endpoint instead of the Redact String in Comment endpoint, which will eventually be deprecated.


        #### Allowed For


        - Agents


        Agent Workspace must be enabled on the account. For professional accounts, deleting tickets must be enabled for agents. On Enterprise accounts, you can assign agents to a custom role with permissions to redact ticket content.


        #### Request Body Properties


        | Name | Type | Required | Description |

        | -------------------------| ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |

        | ticket_id | integer | true | The ID of the ticket |

        | html_body | string | false | The `html_body` of the comment containing `` tags or `redact` attributes |

        | external_attachment_urls | array | false | Array of attachment URLs belonging to the comment to be redacted. See `content_url` property of Attachment |'
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketCommentResponse'
              examples:
                default:
                  $ref: '#/components/examples/TicketCommentsRedactionInAgentWorkspaceResponseExample'
  /api/v2/tickets/{ticket_id}/comments:
    parameters:
    - $ref: '#/components/parameters/TicketId'
    get:
      operationId: ListTicketComments
      tags:
      - Ticket Comments
      summary: Zendesk Get Api V2 Tickets Ticket_id Comments
      description: 'Returns the comments added to the ticket.


        Each comment may include a `content_url` for an attachment or a `recording_url` for a voice comment that points to a file that may be hosted externally. For security reasons, take care not to inadvertently send Zendesk authentication credentials to third parties when attempting to access these files. See Working with url properties.


        #### Pagination


        - Cursor pagination (recommended)

        - Offset pagination


        See Pagination.


        Returns a maximum of 100 records per page.


        #### Sorting


        By default, comments are sorted by creation date in ascending order.


        When using cursor pagination, use the following parameter to change the sort order:


        | Name | Type | Required | Comments

        | ------ | ------ | -------- | --------

        | `sort` | string | no | Possible values are "created_at" (ascending order) or "-created_at" (descending order)


        When using offset pagination, use the following parameters to change the sort order:


        | Name | Type | Required | Comments

        | ------------ | ------ | -------- | --------

        | `sort_order` | string | no | One of `asc`, `desc`. Defaults to `asc`


        #### Allowed For


        * Agents'
      parameters:
      - name: include_inline_images
        in: query
        description: Default is false. When true, inline images are also listed as attachments in the response
        schema:
          type: boolean
      - name: include
        in: query
        description: 'Accepts "users". Use this parameter to list email CCs by side-loading users. Example: `?include=users`. **Note**: If the comment source is email, a deleted user will be represented as the CCd email address. If the comment source is anything else, a deleted user will be represented as the user name.'
        schema:
          type: string
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketCommentsResponse'
              examples:
                default:
                  $ref: '#/components/examples/TicketCommentsResponseExample'
  /api/v2/tickets/{ticket_id}/comments/{ticket_comment_id}/make_private:
    parameters:
    - $ref: '#/components/parameters/TicketId'
    - $ref: '#/components/parameters/TicketCommentId'
    put:
      operationId: MakeTicketCommentPrivate
      tags:
      - Ticket Comments
      summary: Zendesk Put Api V2 Tickets Ticket_id Comments Ticket_comment_id Make_private
      description: '#### Allowed For


        * Agents'
      responses:
        '200':
          description: description
          content:
            application/json:
              schema:
                type: string
                description: Empty response
                example: ''
              example: ''
  /api/v2/tickets/{ticket_id}/comments/{ticket_comment_id}/redact:
    parameters:
    - $ref: '#/components/parameters/TicketId'
    - $ref: '#/components/parameters/TicketCommentId'
    put:
      operationId: RedactStringInComment
      tags:
      - Ticket Comments
      summary: Zendesk Put Api V2 Tickets Ticket_id Comments Ticket_comment_id Redact
      description: 'Permanently removes words or strings from a ticket comment. Specify the string to redact in an object with a `text` property. Example: `''{"text": "987-65-4320"}''`. The characters of the word or string are replaced by the ▇ symbol.


        If the comment was made by email, the endpoint also attempts to redact the string from the original email retained by Zendesk for audit purposes.


        **Note**: If you use the rich text editor, support for redacting formatted text (bold, italics, hyperlinks) is limited.


        Redaction is permanent. You can''t undo the redaction or see *what* was removed. Once a ticket is closed, you can no longer redact strings from its comments.


        To use this endpoint, the "Agents can delete tickets" option must be enabled in the Zendesk Support admin interface at **Admin** > **Settings** > **Agents**.


        #### Allowed For


        * Agents'
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketCommentResponse'
              examples:
                default:
                  $ref: '#/components/examples/TicketCommentStringRedactResponseExample'
  /api/v2/tickets/{ticket_id}/comments/count:
    get:
      operationId: CountTicketComments
      tags:
      - Ticket Comments
      summary: Zendesk Get Api V2 Tickets Ticket_id Comments Count
      description: 'Returns an approximate count of the comments added to the ticket. If the count exceeds 100,000, the count will return a cached result. This cached result will update every 24 hours.


        The `count[refreshed_at]` property is a timestamp that indicates when the count was last updated.


        **Note**: When the count exceeds 100,000, `count[refreshed_at]` may occasionally be null.

        This indicates that the count is being updated in the background, and `count[value]` is limited to 100,000 until the update is complete.


        #### Allowed For

        * Agents'
      parameters:
      - $ref: '#/components/parameters/TicketId'
      responses:
        '200':
          description: Count of ticket comments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketCommentsCountResponse'
              examples:
                default:
                  $ref: '#/components/examples/TicketCommentsCountResponseExample'
components:
  schemas:
    TicketChatCommentRedactionResponse:
      type: object
      properties:
        chat_event:
          type: object
          description: Chat event object
          properties:
            id:
              type: integer
              description: Id assigned to the chat event object
              readOnly: true
            type:
              type: string
              description: Type of chat event
              readOnly: true
            value:
              type: object
              description: The value of the chat event object
              properties:
                chat_id:
                  type: string
                  description: Id of the chat session
                  readOnly: true
                history:
                  type: array
                  description: Chat events within the chat session
                  items:
                    type: object
                    additionalProperties: true
                visitor_id:
                  type: string
                  description: Id assigned to the visitor
                  readOnly: true
              readOnly: true
          readOnly: true
      example:
        chat_event:
          id: 1932802680168
          type: ChatStartedEvent
          value:
            chat_id: 2109.10502823.Sjuj2YrBpXwei
            history:
            - actor_id: 1900448983828
              actor_name: Visitor 36044085
              actor_type: end-user
              chat_index: 0
              timestamp: 1632470783218
              type: ChatJoin
            visitor_id: 10502823-16EkM3T6VNq7KMd
    TicketCommentResponse:
      type: object
      properties:
        comment:
          $ref: '#/components/schemas/TicketCommentObject'
    TicketCommentsCountResponse:
      type: object
      properties:
        count:
          type: object
          properties:
            refreshed_at:
              type: string
              format: date-time
            value:
              type: integer
    TicketCommentsResponse:
      type: object
      properties:
        comments:
          type: array
          items:
            $ref: '#/components/schemas/TicketCommentObject'
x-refined-from:
- chat-file-redactions-openapi-original.yml
- chat-redactions-openapi-original.yml
- comment-redactions-openapi-original.yml
- tickets-openapi-original.yml