---
title: "Bulk-reply to tickets"
method: POST
path: "/tickets/bulk/reply"
tags: ["Ticket"]
---

# Bulk-reply to tickets

`POST /tickets/bulk/reply`

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.

## Headers

- `project` string, required

## Request body

- BulkReplyTicketDto
  - `selection` BulkTicketSelection, required
    - `ids` string[] — Explicit ticket ids (checkbox selection).
    - `query` object — "All matching" — the same raw query-param shape the lane's GET /tickets uses.
      - `sort` string
      - `filter` string
      - `status` string, required
      - `type` string, required
    - `limit` number, double — Select-N: only the first N tickets in the query's sort order. Query mode only.
  - `comment` unknown, required
  - `batchId` string — 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>`.

## Response `200`

Ok

- unknown

---

[API](https://skmtc.net/gleap/apis/gleap-server.md) · [All operations](https://skmtc.net/gleap/apis/gleap-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gleap/gleap-server/revisions/17bf8913206e/schema)
