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

# Create Ticket Message

> Create a new message in a ticket. Set is_internal_note to post an internal note visible only to team members.



## OpenAPI

````yaml /sections/api-reference/openapi-spec-v2.yaml post /v2/tickets/{ticket_id}/messages
openapi: 3.1.0
info:
  title: Serval Public API
  description: Serval Public API
  contact:
    name: Serval
    url: https://serval.com
    email: support@serval.com
  license:
    name: Serval License
    url: https://serval.com/license
  version: 2.0.0
servers:
  - url: https://public.api.serval.com
security:
  - BearerAuth: []
tags:
  - name: Access Policy API
  - name: Access Policy Approval Procedure API
  - name: Access Profile API
  - name: Access Relationship API
  - name: Access Request API
  - name: Agent API
  - name: App Instance API
  - name: App Resource API
  - name: App Resource Role API
  - name: Approval Delegation API
  - name: Approval Request API
  - name: Audit Log API
  - name: Change Blackout API
  - name: Change Model API
  - name: Custom Field API
  - name: Custom Service API
  - name: Entity API
  - name: Entity Field Mapping API
  - name: Entity Ingestion Config API
  - name: Entity Type API
  - name: Folder API
  - name: Group API
  - name: Guidance API
  - name: Help Agent API
  - name: Journey API
  - name: Knowledge API
  - name: Knowledge Base API
  - name: Report API
  - name: SLA API
  - name: Schedule API
  - name: Tag API
  - name: Team API
  - name: Team User API
  - name: Ticket API
  - name: Topic API
  - name: User API
  - name: User Relationship API
  - name: Workflow API
  - name: Workflow Approval Procedure API
  - name: Workflow Run API
paths:
  /v2/tickets/{ticket_id}/messages:
    post:
      tags:
        - Ticket API
      summary: Create Ticket Message
      description: >-
        Create a new message in a ticket. Set is_internal_note to post an
        internal note visible only to team members.
      operationId: svrelay.publicv2.PublicAPIServiceV2.CreateTicketMessage
      parameters:
        - name: ticket_id
          in: path
          required: true
          schema:
            type: string
            title: ticket_id
            description: The ID of the ticket to add a message to.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  title: message
                  description: The content of the message.
                authorUserId:
                  type: string
                  title: author_user_id
                  description: The ID of the user who authored the message.
                triggerHelpAgent:
                  type: boolean
                  title: trigger_help_agent
                  description: >-
                    Optional. Whether to trigger the AI help agent workflow for
                    this message.
                     Defaults to true. Set to false to suppress the help agent (e.g. when syncing
                     messages from an external system or posting automated replies).
                  nullable: true
                isInternalNote:
                  type: boolean
                  title: is_internal_note
                  description: >-
                    Optional. When true, the message is created as an internal
                    note, visible
                     only to team members and never surfaced to the requester. Defaults to false.
                  nullable: true
              title: CreateTicketMessageRequest
              additionalProperties: false
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/svhelp.publicapi.CreateTicketMessageResponse
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      security:
        - BearerAuth: []
components:
  schemas:
    svhelp.publicapi.CreateTicketMessageResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/svhelp.pubapimodels.CreatedMessage'
          title: data
          x-stainless-terraform-configurability: optional
      title: CreateTicketMessageResponse
      additionalProperties: false
    connect.error:
      type: object
      properties:
        code:
          type: string
          examples:
            - not_found
          enum:
            - canceled
            - unknown
            - invalid_argument
            - deadline_exceeded
            - not_found
            - already_exists
            - permission_denied
            - resource_exhausted
            - failed_precondition
            - aborted
            - out_of_range
            - unimplemented
            - internal
            - unavailable
            - data_loss
            - unauthenticated
          description: >-
            The status code, which should be an enum value of
            [google.rpc.Code][google.rpc.Code].
          x-stainless-terraform-configurability: optional
        message:
          type: string
          description: >-
            A developer-facing error message, which should be in English. Any
            user-facing error message should be localized and sent in the
            [google.rpc.Status.details][google.rpc.Status.details] field, or
            localized by the client.
          x-stainless-terraform-configurability: optional
        detail:
          $ref: '#/components/schemas/google.protobuf.Any'
          x-stainless-terraform-configurability: optional
      title: Connect Error
      additionalProperties: true
      description: >-
        Error type returned by Connect:
        https://connectrpc.com/docs/go/errors/#http-representation
    svhelp.pubapimodels.CreatedMessage:
      type: object
      properties:
        messageId:
          type: string
          title: message_id
          description: The Serval message ID of the message.
          readOnly: true
          x-stainless-terraform-configurability: computed
      title: CreatedMessage
      additionalProperties: false
    google.protobuf.Any:
      type: object
      properties:
        type:
          type: string
          x-stainless-terraform-configurability: optional
        value:
          type: string
          format: binary
          x-stainless-terraform-configurability: optional
        debug:
          type: object
          additionalProperties: true
          x-stainless-terraform-configurability: optional
      additionalProperties: true
      description: >-
        Contains an arbitrary serialized message along with a @type that
        describes the type of the serialized message.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````