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

# Lister les tickets de conversation d'agent

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

Liste les tickets de triage de conversations d'un agent, du plus récemment créé au plus ancien, sauf en cas de tri par priorité. Ces tickets concernent les performances de l'agent dans une conversation, pour le triage avec Architect, et non les tickets qu'un agent ouvre pour les utilisateurs finaux.

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) — Nombre de tickets de conversation d’agent à renvoyer. Ne peut pas dépasser 100.
- `conversation_id` (string, optional, nullable) — Filtrer les tickets par ID de conversation.
- `status` (enum, optional, nullable) — Filtrer les tickets par statut.
  - Allowed values: `open`, `in_progress`, `resolved`, `cancelled`, `merged`
- `sources` (list of enum, optional, nullable) — Filtrer les tickets selon leur mode de création (qa, agent, manual). Répétez le paramètre pour filtrer par plusieurs sources.
  - Allowed values: `qa`, `agent`, `manual`
- `priorities` (list of enum, optional, nullable) — Filtrer les tickets par priorité. Répétez le paramètre pour filtrer par plusieurs priorités.
  - Allowed values: `low`, `medium`, `high`, `urgent`
- `sort_by` (enum, optional) — Trier par date de création décroissante ou par priorité, les plus urgents d'abord, puis les plus récemment créés.
  - Allowed values: `created_at`, `priority`
- `owner_user_id` (string, optional, nullable) — Filtrer les tickets par créateur. Utilisez 'agent' pour les tickets créés par un agent.
- `assignee_user_id` (string, optional, nullable) — Filtrer les tickets par personne attribuée. Utilisez 'unassigned' pour les tickets sans personne attribuée.
- `issue_type` (enum, optional, nullable) — Filtrer les groupes par type de problème.
  - Allowed values: `knowledge_gap`, `incorrect_information`, `documentation_gap`, `product_feedback`, `platform_bug`, `tool_issue`, `missing_tool`, `unnecessary_escalation`, `wrong_action`
- `label` (string, optional, nullable) — Filtrer les tickets par libellé exact.
- `merged_into_ticket_id` (string, optional, nullable) — Filtre les tickets fusionnés dans ce ticket.
- `search` (string, optional, nullable) — Recherche en texte libre insensible à la casse dans le titre, la description, les commentaires et les commentaires de tour du ticket.
- `cursor` (string, optional, nullable) — Utilisé pour récupérer la page suivante. Le curseur est renvoyé dans la réponse.

## Response

### 200

Réponse réussie

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

## Errors

### 422 Unprocessable Entity Error

Erreur de validation

- `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) — Titre d’une ligne du ticket. None uniquement pour les tickets créés avant l’existence des titres.
- `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) — Le ticket dans lequel celui-ci a été fusionné, défini lorsque son statut est « merged ».
- `search_match` (TicketSearchMatchResponseModel, optional, nullable) — Emplacement de la correspondance avec la requête `search` de la liste. Défini uniquement pour les listes ayant fait l’objet d’une recherche.

### 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) — Indique lequel des textes du ticket correspond.
  - Allowed values: `title`, `description`, `comment`, `turn_comment`
- `snippet` (string, required) — Extrait autour de la correspondance, dont les espaces consécutifs sont réduits, avec des points de suspension à l’endroit où il a été tronqué.
- `highlight_start` (integer, required) — Décalage de la correspondance dans `snippet`.
- `highlight_end` (integer, required) — Décalage de fin exclusif de la correspondance dans `snippet`.
- `turn_index` (integer, optional, nullable) — Le tour commenté, défini lorsque `field` est égal à « turn_comment ».

### ValidationErrorLocItems

- string
- integer

## 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()
```