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

# Bulk-reply to tickets

> Send the same customer-visible reply to every ticket in the selection.
Unlike bulk updates there is NO fast path — every reply runs the full
createComment pipeline (channel/email delivery, notifications, SLA
clearing, workflows, integrations). Selections up to 30 send inline;
larger ones (up to 500) fan out as per-ticket scheduled replies firing
~60s later, delivered by the Bull worker with the reconcile-sweep
backstop and cancellable per ticket until they fire.



## OpenAPI

````yaml https://api.gleap.io/api-docs.json post /tickets/bulk/reply
openapi: 3.0.0
info:
  title: gleap-server
  version: 14.0.0
  contact: {}
servers:
  - url: https://api.gleap.io/v3
security: []
paths:
  /tickets/bulk/reply:
    post:
      tags:
        - Ticket
      summary: Bulk-reply to tickets
      description: |-
        Send the same customer-visible reply to every ticket in the selection.
        Unlike bulk updates there is NO fast path — every reply runs the full
        createComment pipeline (channel/email delivery, notifications, SLA
        clearing, workflows, integrations). Selections up to 30 send inline;
        larger ones (up to 500) fan out as per-ticket scheduled replies firing
        ~60s later, delivered by the Bull worker with the reconcile-sweep
        backstop and cancellable per ticket until they fire.
      operationId: BulkReplyTickets
      parameters:
        - in: header
          name: project
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkReplyTicketDto'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema: {}
      security:
        - jwt: []
components:
  schemas:
    BulkReplyTicketDto:
      properties:
        selection:
          $ref: '#/components/schemas/BulkTicketSelection'
        comment:
          description: TipTap JSON document — same shape as a single reply's `comment`.
        batchId:
          type: string
          description: >-
            Client-generated idempotency key. Retries with the same batchId
            never

            double-send: every created comment is deduped per ticket via

            `data.clientMutationId = bulkreply_<batchId>_<ticketId>`.
      required:
        - selection
        - comment
      type: object
      additionalProperties: false
    BulkTicketSelection:
      properties:
        ids:
          items:
            type: string
          type: array
          description: Explicit ticket ids (checkbox selection).
        query:
          properties:
            sort:
              type: string
            filter:
              type: string
            status:
              type: string
            type:
              type: string
          required:
            - status
            - type
          type: object
          description: >-
            "All matching" — the same raw query-param shape the lane's GET
            /tickets uses.
        limit:
          type: number
          format: double
          description: >-
            Select-N: only the first N tickets in the query's sort order. Query
            mode only.
      type: object
      additionalProperties: false
  securitySchemes:
    jwt:
      type: http
      scheme: bearer
      bearerFormat: JWT

````