---
title: "Merge Agent Conversation Tickets"
method: POST
path: "/v1/convai/triage-tickets/{agentqa_ticket_id}/merge"
---

# Merge Agent Conversation Tickets

`POST /v1/convai/triage-tickets/{agentqa_ticket_id}/merge`

Merge other open tickets of the same agent into this pending, in-progress, or resolved one. Their conversations move onto this ticket, its priority is raised to the highest among them, and they are kept with status 'merged'. Requires viewer access to the ticket's agent.

## Path parameters

- `agentqa_ticket_id` string, required

## Headers

- `xi-api-key` string, nullable — Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.

## Request body

- MergeAgentConversationTicketsRequestModel
  - `source_ticket_ids` string[], required — Open tickets of the same agent to fold into this one. They are kept with status 'merged', pointing at this ticket.

## Response `200`

Successful Response

- AgentConversationTicketResponseModel
  - `agentqa_ticket_id` string, required
  - `workspace_id` string, required
  - `owner_user_id` string, required
  - `agent_id` string, required
  - `needs_clustering` boolean, required
  - `title` string, nullable, required — One-line headline for the ticket. None only on tickets created before titles existed.
  - `issue_type` 'knowledge_gap' | 'incorrect_information' | 'documentation_gap' | 'product_feedback' | 'platform_bug' | 'tool_issue' | 'missing_tool' | 'unnecessary_escalation' | 'wrong_action', required
  - `labels` string[], required
  - `conversation_ids` string[], required
  - `first_seen_unix_secs` integer, nullable, required
  - `last_seen_unix_secs` integer, nullable, required
  - `qa_comment` string, nullable, required
  - `ticket_comments` TicketCommentResponseModel[], required
    - `comment` string, required
    - `created_at_unix_secs` integer, required
    - `owner_user_id` string, nullable, required
  - `turn_comments` TurnCommentResponseModel[], required
    - `turn_index` integer, required
    - `comment` string, required
    - `created_at_unix_secs` integer, required
    - `owner_user_id` string, nullable, required
  - `status` 'open' | 'in_progress' | 'resolved' | 'cancelled' | 'merged', required
  - `priority` 'low' | 'medium' | 'high' | 'urgent', required
  - `priority_changes` TicketPriorityChangeResponseModel[], required
    - `priority` 'low' | 'medium' | 'high' | 'urgent', required
    - `changed_by_user_id` string, required
    - `changed_at_unix_secs` integer, required
  - `merged_into_ticket_id` string, nullable — The ticket this one was merged into, set while its status is 'merged'.
  - `source` 'qa' | 'agent' | 'manual', required
  - `assignee_user_id` string, nullable, required
  - `created_at_unix_secs` integer, required
  - `updated_at_unix_secs` integer, required
  - `search_match` TicketSearchMatchResponseModel
    - `field` 'title' | 'description' | 'comment' | 'turn_comment', required
    - `snippet` string, required — Whitespace-collapsed excerpt around the match, with an ellipsis where it was cut.
    - `highlight_start` integer, required — Offset of the match in `snippet`.
    - `highlight_end` integer, required — Exclusive end offset of the match in `snippet`.
    - `turn_index` integer, nullable — The commented turn, set when `field` is 'turn_comment'.

## Other responses

- `422` — Validation Error

## Changes

- **2026-10-07** `46f26f34e316` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/changes/v1/convai/triage-tickets/:agentqa_ticket_id/merge/post.md)

---

[API](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation.md) · [All operations](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/llms.txt) · [OpenAPI document](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/revisions/991554f79511?raw)
