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

# Conversatieticket voor agent maken

POST https://api.elevenlabs.io/v1/convai/triage-tickets
Content-Type: application/json

Maak een ticket aan over de prestaties van een agent in een gesprek, voor triage met Architect. Geef een algemene opmerking en/of opmerkingen per beurt waarin je beschrijft wat er misging.

Reference: https://elevenlabs.io/docs/eleven-agents/api-reference/triage-tickets/create

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

### Body (application/json)

This endpoint expects an object.

- `conversation_id` (string, required) — Gesprek waar dit ticket over gaat.
- `title` (string, optional) — Kop van één regel die wordt getoond in de triagelijst. Standaard wordt een kop afgeleid van de opmerkingen gebruikt, met als fallback de samenvattingstitel van het gesprek. Genegeerd wanneer de opmerking wordt toegevoegd aan het open ticket van het gesprek.
- `qa_comment` (string, optional) — Het onderwerp van dit ticket, dat de hele conversatie omvat in plaats van één beurt.
- `turn_comments` (list of TurnCommentRequestModel, optional) — Optionele opmerkingen per beurt over wat er is misgegaan.
- `priority` (enum, optional) — Hoe dringend het ticket aandacht nodig heeft. Als het gesprek al een open ticket heeft, wordt de prioriteit verhoogd naar deze prioriteit als deze lager is.
  - Allowed values: `low`, `medium`, `high`, `urgent`

## Response

### 200

Geslaagde response

- `agentqa_ticket_id` (string, required)
- `workspace_id` (string, required)
- `owner_user_id` (string, required)
- `agent_id` (string, required)
- `needs_clustering` (boolean, required)
- `labels` (list of string, required)
- `conversation_ids` (list of string, required)
- `ticket_comments` (list of TicketCommentResponseModel, required)
- `turn_comments` (list of TurnCommentResponseModel, required)
- `status` (enum, required)
  - Allowed values: `open`, `in_progress`, `resolved`, `cancelled`, `merged`
- `priority_changes` (list of TicketPriorityChangeResponseModel, required)
- `status_changes` (list of TicketStatusChangeResponseModel, required)
- `source` (enum, required)
  - Allowed values: `qa`, `agent`, `manual`
- `created_at_unix_secs` (integer, required)
- `updated_at_unix_secs` (integer, required)
- `title` (string, optional) — Kop van één regel voor het ticket. None alleen voor tickets die zijn gemaakt voordat titels bestonden.
- `issue_type` (enum, optional)
  - Allowed values: `knowledge_gap`, `incorrect_information`, `documentation_gap`, `product_feedback`, `platform_bug`, `tool_issue`, `missing_tool`, `unnecessary_escalation`, `wrong_action`
- `first_seen_unix_secs` (integer, optional)
- `last_seen_unix_secs` (integer, optional)
- `qa_comment` (string, optional)
- `priority` (enum, optional)
  - Allowed values: `low`, `medium`, `high`, `urgent`
- `merged_into_ticket_id` (string, optional) — Het ticket waarmee dit ticket is samengevoegd, ingesteld wanneer de status 'merged' is.
- `assignee_user_id` (string, optional)
- `search_match` (TicketSearchMatchResponseModel, optional) — Waar de `search`-query van de lijst overeenkwam. Alleen ingesteld voor doorzochte lijsten.

## Errors

### 422 Triage Tickets Create Request Unprocessable Entity Error

Validatiefout

- `detail` (list of ValidationError, optional)

## Types

### TurnCommentRequestModel

- `turn_index` (integer, required) — Index vanaf nul van de transcriptiebeurt waar deze opmerking naar verwijst.
- `comment` (string, required) — Wat er tijdens deze beurt is misgegaan.

### TicketCommentResponseModel

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

### TurnCommentResponseModel

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

### TicketPriorityChangeResponseModel

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

### TicketStatusChangeResponseModel

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

### TicketSearchMatchResponseModel

- `field` (enum, required) — Welke tekst van het ticket overeenkwam.
  - Allowed values: `title`, `description`, `comment`, `turn_comment`
- `snippet` (string, required) — Fragment rond de overeenkomst waarin witruimte is samengevouwen, met een beletselteken waar het is afgekapt.
- `highlight_start` (integer, required) — Offset van de overeenkomst in `snippet`.
- `highlight_end` (integer, required) — Exclusieve eindoffset van de overeenkomst in `snippet`.
- `turn_index` (integer, optional) — De beurt waarop commentaar is gegeven, ingesteld wanneer `field` 'turn_comment' is.

### ValidationError

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

### ValidationErrorLocItem

## Examples

**Request**

```json
{
  "conversation_id": "conversation_id"
}
```

**Response**

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

**SDK Code**

```python
import requests

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

payload = { "conversation_id": "conversation_id" }
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/triage-tickets';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"conversation_id":"conversation_id"}'
};

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"
	"strings"
	"net/http"
	"io"
)

func main() {

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

	payload := strings.NewReader("{\n  \"conversation_id\": \"conversation_id\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

	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/triage-tickets")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"conversation_id\": \"conversation_id\"\n}"

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.post("https://api.elevenlabs.io/v1/convai/triage-tickets")
  .header("Content-Type", "application/json")
  .body("{\n  \"conversation_id\": \"conversation_id\"\n}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.elevenlabs.io/v1/convai/triage-tickets', [
  'body' => '{
  "conversation_id": "conversation_id"
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/triage-tickets");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"conversation_id\": \"conversation_id\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = ["conversation_id": "conversation_id"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/convai/triage-tickets")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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