---
title: "Create Agent Conversation Ticket"
method: POST
path: "/v1/convai/triage-tickets"
---

# Create Agent Conversation Ticket

`POST /v1/convai/triage-tickets`

## Request

- Base URL: `https://api.elevenlabs.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.elevenlabs.io/v1/convai/triage-tickets`
- Auth: none declared

Raise a ticket about an agent's performance on a conversation, for triage with Architect. Provide an overall comment and/or turn-level comments describing what went wrong.

## 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

- CreateAgentConversationTicketRequestModel
  - `conversation_id` string, required: Conversation this ticket is about.
  - `title` string, nullable: One-line headline shown in the triage list. Defaults to one derived from the comments, falling back to the conversation's summary title. Ignored when the comment is added to the conversation's open ticket.
  - `qa_comment` string, nullable: The issue this ticket is about, covering the whole conversation rather than a single turn.
  - `turn_comments` TurnCommentRequestModel[]: Optional turn-level comments on what went wrong.
    - `turn_index` integer, required: Zero-based index of the transcript turn this comment refers to.
    - `comment` string, required: What went wrong at this turn.
  - `priority` 'low' | 'medium' | 'high' | 'urgent'

## 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
  - `status_changes` TicketStatusChangeResponseModel[], required
    - `status` 'open' | 'in_progress' | 'resolved' | 'cancelled' | 'merged', required
    - `changed_by_user_id` string, nullable, 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-13** `3060999bd80a`: 1 info
  - added the required property `status_changes` to the response with the `200` status
- **2026-10-07** `46f26f34e316`: 2 info
  - added the optional property `merged_into_ticket_id` to the response with the `200` status
  - added the optional property `search_match` to the response with the `200` status
- **2026-10-03** `204453a63fdc`: 1 warning
  - added the new `cancelled` enum value to the `status` response property for the response status `200`
- **2026-10-01** `d942e69ff7a7`: 2 info
  - added the new optional request property `title`
  - added the required property `title` to the response with the `200` status
- **2026-09-30** `0b2f5145d7e6`: 3 info
  - added the new optional request property `priority`
  - added the required property `priority` to the response with the `200` status
  - added the required property `priority_changes` to the response with the `200` status

[Operation history](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/changes/v1/convai/triage-tickets/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/0e2bfc751634?raw)
