> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Listar tickets de conversación del agente

GET https://api.elevenlabs.io/v1/convai/agents/{agent_id}/triage-tickets

Enumera los tickets de triaje de conversaciones de un agente, ordenados primero por los creados más recientemente, salvo que se ordenen por prioridad. Son tickets sobre el rendimiento del propio agente en una conversación (para el triaje con Architect), no tickets que un agente abre para usuarios finales.

Reference: https://elevenlabs.io/docs/api-reference/triage-tickets/list

## Servers

- `https://api.elevenlabs.io` (Production, default)
- `https://api.us.elevenlabs.io` (Production US)
- `https://api.eu.residency.elevenlabs.io` (Production EU)
- `https://api.in.residency.elevenlabs.io` (Production India)
- `https://api.sg.residency.elevenlabs.io` (Production Singapore)

## Request

### Path parameters

- `agent_id` (string, required)

### Query parameters

- `page_size` (integer, optional, default: 100) — Cuántos tickets de conversación del agente se devolverán. No puede superar 100.
- `conversation_id` (string, optional, nullable) — Filtra tickets por ID de conversación.
- `status` (enum, optional, nullable) — Filtra tickets por estado.
  - Allowed values: `open`, `in_progress`, `resolved`, `cancelled`, `merged`
- `sources` (list of enum, optional, nullable) — Filtra tickets según cómo se crearon (qa, agent, manual). Repite el parámetro para filtrar por varios orígenes.
  - Allowed values: `qa`, `agent`, `manual`
- `priorities` (list of enum, optional, nullable) — Filtra los tickets por prioridad. Repite el parámetro para filtrar por varias prioridades.
  - Allowed values: `low`, `medium`, `high`, `urgent`
- `sort_by` (enum, optional) — Ordena por fecha de creación más reciente o por prioridad (primero los más urgentes y después los creados más recientemente).
  - Allowed values: `created_at`, `priority`
- `owner_user_id` (string, optional, nullable) — Filtra tickets por creador. Usa 'agent' para los tickets creados por el agente.
- `assignee_user_id` (string, optional, nullable) — Filtra tickets por persona asignada. Usa 'unassigned' para los tickets sin asignar.
- `issue_type` (enum, optional, nullable) — Filtra clústeres por tipo de incidencia.
  - Allowed values: `knowledge_gap`, `incorrect_information`, `documentation_gap`, `product_feedback`, `platform_bug`, `tool_issue`, `missing_tool`, `unnecessary_escalation`, `wrong_action`
- `label` (string, optional, nullable) — Filtra tickets por una etiqueta exacta.
- `merged_into_ticket_id` (string, optional, nullable) — Filtra los tickets fusionados en este ticket.
- `search` (string, optional, nullable) — Búsqueda de texto libre sin distinción entre mayúsculas y minúsculas en el título, la descripción, los comentarios y los comentarios de turnos del ticket.
- `cursor` (string, optional, nullable) — Se usa para obtener la página siguiente. El cursor se devuelve en la respuesta.

## Response

### 200

Respuesta correcta.

- `agent_conversation_tickets` (list of AgentConversationTicketResponseModel, required)
- `has_more` (boolean, required)
- `next_cursor` (string, optional, nullable)

## Errors

### 422 Unprocessable Entity Error

Error de validación

- `detail` (list of ValidationError, optional)

## Types

### 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, required, nullable) — Título de una línea para el ticket. None solo aparece en los tickets creados antes de que existieran los títulos.
- `issue_type` (enum, required, nullable)
  - Allowed values: `knowledge_gap`, `incorrect_information`, `documentation_gap`, `product_feedback`, `platform_bug`, `tool_issue`, `missing_tool`, `unnecessary_escalation`, `wrong_action`
- `labels` (list of string, required)
- `conversation_ids` (list of string, required)
- `first_seen_unix_secs` (integer, required, nullable)
- `last_seen_unix_secs` (integer, required, nullable)
- `qa_comment` (string, required, nullable)
- `ticket_comments` (list of TicketCommentResponseModel, required)
- `turn_comments` (list of TurnCommentResponseModel, required)
- `status` (enum, required)
  - Allowed values: `open`, `in_progress`, `resolved`, `cancelled`, `merged`
- `priority` (enum, required, nullable)
  - Allowed values: `low`, `medium`, `high`, `urgent`
- `priority_changes` (list of TicketPriorityChangeResponseModel, required)
- `status_changes` (list of TicketStatusChangeResponseModel, required)
- `source` (enum, required)
  - Allowed values: `qa`, `agent`, `manual`
- `assignee_user_id` (string, required, nullable)
- `created_at_unix_secs` (integer, required)
- `updated_at_unix_secs` (integer, required)
- `merged_into_ticket_id` (string, optional, nullable) — El ticket en el que se fusionó este, establecido mientras su estado sea 'merged'.
- `search_match` (TicketSearchMatchResponseModel, optional, nullable) — Dónde ha coincidido la consulta `search` de la lista. Se establece solo en listas con búsqueda.

### ValidationError

- `loc` (list of ValidationErrorLocItems, required)
- `msg` (string, required)
- `type` (string, required)

### TicketCommentResponseModel

- `comment` (string, required)
- `created_at_unix_secs` (integer, required)
- `owner_user_id` (string, required, nullable)

### TurnCommentResponseModel

- `turn_index` (integer, required)
- `comment` (string, required)
- `created_at_unix_secs` (integer, required)
- `owner_user_id` (string, required, nullable)

### TicketPriorityChangeResponseModel

- `priority` (enum, required, nullable)
  - Allowed values: `low`, `medium`, `high`, `urgent`
- `changed_by_user_id` (string, required)
- `changed_at_unix_secs` (integer, required)

### TicketStatusChangeResponseModel

- `status` (enum, required)
  - Allowed values: `open`, `in_progress`, `resolved`, `cancelled`, `merged`
- `changed_by_user_id` (string, required, nullable)
- `changed_at_unix_secs` (integer, required)

### TicketSearchMatchResponseModel

- `field` (enum, required) — Qué texto del ticket ha coincidido.
  - Allowed values: `title`, `description`, `comment`, `turn_comment`
- `snippet` (string, required) — Extracto alrededor de la coincidencia con los espacios en blanco reducidos, con puntos suspensivos donde se ha recortado.
- `highlight_start` (integer, required) — Desplazamiento de la coincidencia en `snippet`.
- `highlight_end` (integer, required) — Desplazamiento final exclusivo de la coincidencia en `snippet`.
- `turn_index` (integer, optional, nullable) — El turno comentado, establecido cuando `field` es 'turn_comment'.

### ValidationErrorLocItems

## Examples

**Response**

```json
{
  "agent_conversation_tickets": [
    {
      "agentqa_ticket_id": "string",
      "workspace_id": "string",
      "owner_user_id": "string",
      "agent_id": "string",
      "needs_clustering": true,
      "title": "string",
      "issue_type": "knowledge_gap",
      "labels": [
        "string"
      ],
      "conversation_ids": [
        "string"
      ],
      "first_seen_unix_secs": 1,
      "last_seen_unix_secs": 1,
      "qa_comment": "string",
      "ticket_comments": [
        {
          "comment": "string",
          "created_at_unix_secs": 1,
          "owner_user_id": "string"
        }
      ],
      "turn_comments": [
        {
          "turn_index": 1,
          "comment": "string",
          "created_at_unix_secs": 1,
          "owner_user_id": "string"
        }
      ],
      "status": "open",
      "priority": "low",
      "priority_changes": [
        {
          "priority": "low",
          "changed_by_user_id": "string",
          "changed_at_unix_secs": 1
        }
      ],
      "status_changes": [
        {
          "status": "open",
          "changed_by_user_id": "string",
          "changed_at_unix_secs": 1
        }
      ],
      "source": "qa",
      "assignee_user_id": "string",
      "created_at_unix_secs": 1,
      "updated_at_unix_secs": 1,
      "merged_into_ticket_id": "string",
      "search_match": {
        "field": "title",
        "snippet": "string",
        "highlight_start": 1,
        "highlight_end": 1,
        "turn_index": 1
      }
    }
  ],
  "has_more": true,
  "next_cursor": "string"
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/agents/agent_id/triage-tickets"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/agents/agent_id/triage-tickets';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.elevenlabs.io/v1/convai/agents/agent_id/triage-tickets"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.elevenlabs.io/v1/convai/agents/agent_id/triage-tickets")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.elevenlabs.io/v1/convai/agents/agent_id/triage-tickets")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.elevenlabs.io/v1/convai/agents/agent_id/triage-tickets');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/agents/agent_id/triage-tickets");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/convai/agents/agent_id/triage-tickets")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```