> ## Documentation Index
> Fetch the complete documentation index at: https://help.gorelo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Adds a comment to a ticket

> Adds a comment to a ticket. The comment is always recorded as coming from the API — the caller cannot post as a specific user, and `To` and `Cc` are taken from the conversation rather than the request.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/tickets/{ticketId}/comments
openapi: 3.0.4
info:
  title: Public API
  description: Gorelo Public API documentation.
  version: 1.0.0
servers:
  - url: https://api.usw.gorelo.io
    description: US
  - url: https://api.aue.gorelo.io
    description: Australia
security:
  - ApiKeyAuth: []
tags:
  - name: Attachments
    description: "Uploading a file, for anything that can carry one. One endpoint rather than one per record\r\ntype, because the upload itself is identical - only the record it is checked against differs."
  - name: Alerts
    description: Alerts management operations
  - name: Assets
    description: Assets management operations
  - name: Billing
    description: Billing management operations
  - name: Tickets
    description: Tickets management operations
  - name: Clients
    description: Clients management operations
  - name: Contacts
    description: Contacts management operations
  - name: Deletions
    description: Deletions management operations
  - name: Documents
    description: Documents management operations
  - name: Forms
    description: Forms management operations
  - name: Organization
    description: Organization management operations
  - name: Projects
    description: Projects management operations
paths:
  /v1/tickets/{ticketId}/comments:
    post:
      tags:
        - Tickets
      summary: Adds a comment to a ticket
      description: >-
        Adds a comment to a ticket. The comment is always recorded as coming
        from the API — the caller cannot post as a specific user, and `To` and
        `Cc` are taken from the conversation rather than the request.
      operationId: post_v1_tickets_ticketId_comments
      parameters:
        - name: ticketId
          in: path
          description: Ticket identifier.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: Comment details.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/CreateCommentCommand'
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCommentCommand'
          text/json:
            schema:
              $ref: '#/components/schemas/CreateCommentCommand'
          application/*+json:
            schema:
              $ref: '#/components/schemas/CreateCommentCommand'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/CreateCommentResultBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCommentResultBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/CreateCommentResultBaseResponse'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
components:
  schemas:
    CreateCommentCommand:
      required:
        - Body
        - ConversationTypeId
      type: object
      properties:
        ConversationTypeId:
          type: integer
          description: 1 Public, 2 Private, 3 Side Conversation, 4 Approval.
          format: int64
        ConversationId:
          type: string
          description: "Identifier of the conversation to post into. Required for Side Conversation and Approval,\r\nand rejected for Public and Private, which are the ticket's main thread."
          nullable: true
        Body:
          minLength: 1
          type: string
          description: "Comment body as HTML. Mentions go inside the HTML. A literal < or > in the text must be sent as\r\n`&lt;` / `&gt;`."
        CreatedByName:
          type: string
          description: "Display name to show the comment as. The comment is still recorded as API-authored — a\r\nname cannot be used to post as a specific real user. Omitted or blank, it is recorded as `API`."
          nullable: true
        CreatedOn:
          type: string
          description: "Backdate the comment's timestamp — for importing ticket history from another system.\r\nMust not be in the future or earlier than the ticket's own CreatedOn. Omit to use the\r\ncurrent time.\r\n            \r\nWhen supplied, the ticket's UpdatedOn becomes the later of its current value and this\r\ntimestamp, so importing older history does not push the ticket to the top of an\r\nupdatedOn-sorted list.\r\n            \r\nSend only when importing history. A record with this field set sends no emails or notifications."
          format: date-time
          nullable: true
        Attachments:
          type: array
          items:
            $ref: '#/components/schemas/CommentAttachmentModel'
          description: Files to attach, as returned by the attachment upload endpoint.
      additionalProperties: false
    CreateCommentResultBaseResponse:
      type: object
      properties:
        StatusCode:
          $ref: '#/components/schemas/HttpStatusCode'
        IsSuccess:
          type: boolean
        Data:
          $ref: '#/components/schemas/CreateCommentResult'
        DataContext:
          type: object
          additionalProperties: false
          nullable: true
          example: null
        Notifications:
          type: array
          items:
            $ref: '#/components/schemas/Error'
      additionalProperties: false
    ObjectBaseResponse:
      type: object
      properties:
        StatusCode:
          $ref: '#/components/schemas/HttpStatusCode'
        IsSuccess:
          type: boolean
        Data:
          nullable: true
        DataContext:
          $ref: '#/components/schemas/ErrorDataContext'
        Notifications:
          type: array
          items:
            $ref: '#/components/schemas/Error'
      additionalProperties: false
    CommentAttachmentModel:
      type: object
      properties:
        Name:
          type: string
          description: File name.
        Url:
          type: string
          description: Temporary secure download link. Expires.
      additionalProperties: false
      description: A file attached to a comment, and what the upload endpoint returns.
    HttpStatusCode:
      enum:
        - 100
        - 101
        - 102
        - 103
        - 200
        - 201
        - 202
        - 203
        - 204
        - 205
        - 206
        - 207
        - 208
        - 226
        - 300
        - 301
        - 302
        - 303
        - 304
        - 305
        - 306
        - 307
        - 308
        - 400
        - 401
        - 402
        - 403
        - 404
        - 405
        - 406
        - 407
        - 408
        - 409
        - 410
        - 411
        - 412
        - 413
        - 414
        - 415
        - 416
        - 417
        - 421
        - 422
        - 423
        - 424
        - 426
        - 428
        - 429
        - 431
        - 451
        - 500
        - 501
        - 502
        - 503
        - 504
        - 505
        - 506
        - 507
        - 508
        - 510
        - 511
      type: integer
      format: int32
    CreateCommentResult:
      type: object
      properties:
        Id:
          type: string
          description: Identifier of the created comment.
          format: uuid
      additionalProperties: false
    Error:
      type: object
      properties:
        Code:
          pattern: ^[0-9]{6}$
          type: string
          description: 6-digit MMTTNN error code. See the Public API error-code registry.
          example: '070101'
        Message:
          type: string
        PropertyName:
          type: string
          nullable: true
        ActionHint:
          type: string
          nullable: true
        DocUrl:
          type: string
          nullable: true
      additionalProperties: false
    ErrorDataContext:
      type: object
      properties:
        TraceId:
          type: string
          description: Request correlation id. Quote this when reporting a problem.
          nullable: true
      additionalProperties: false
      description: "The `DataContext` of an error response: carries the correlation id for the failed\r\nrequest."
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      description: >-
        Your Gorelo API key. See [Generate API key](/generate-api-key). If your
        data is hosted in Australia, click the base URL at the top of this page
        and select `https://api.aue.gorelo.io`.
      name: X-API-Key
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.