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

# Testaufrufe auflisten

GET https://api.elevenlabs.io/v1/convai/test-invocations

Listet alle Testaufrufe mit Unterstützung für Paginierung und optionaler Suchfilterung auf.

Reference: https://elevenlabs.io/docs/api-reference/tests/test-invocations/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

### Query parameters

- `agent_id` (string, optional, nullable) — Nach Agent-ID filtern
- `branch_id` (string, optional, nullable) — Nach Zweig-ID filtern
- `test_id` (string, optional, nullable) — Nach Aufrufen filtern, die einen Durchlauf dieser Test-ID enthalten
- `start_time` (integer, optional, nullable) — Inklusive Untergrenze für created_at in Unix-Sekunden
- `end_time` (integer, optional, nullable) — Inklusive Obergrenze für created_at in Unix-Sekunden
- `version_id` (string, optional, nullable) — Nach der Agent-Version filtern, gegen die die Tests ausgeführt wurden
- `page_size` (integer, optional, default: 30) — Maximale Anzahl zurückzugebender Tests. Darf 100 nicht überschreiten, Standardwert ist 30.
- `search` (string, optional, nullable) — Suchanfrage zum Filtern von Tests und Ordnern nach Name.
- `cursor` (string, optional, nullable) — Wird zum Abrufen der nächsten Seite verwendet. Der Cursor wird in der Antwort zurückgegeben.

## Response

### 200

Erfolgreiche Antwort

- `results` (list of TestInvocationSummaryResponseModel, required)
- `has_more` (boolean, required) — Ob weitere Ergebnisse verfügbar sind.
- `meta` (ListResponseMeta, optional)
- `next_cursor` (string, optional, nullable) — Cursor für die nächste Ergebnisseite

## Errors

### 422 Unprocessable Entity Error

Validierungsfehler

- `detail` (list of ValidationError, optional)

## Types

### TestInvocationSummaryResponseModel

- `id` (string, required) — Die ID des Testaufrufs
- `created_at_unix_secs` (integer, required) — Erstellungszeit des Testaufrufs in Unix-Sekunden
- `test_run_count` (integer, required) — Anzahl der Testläufe in diesem Aufruf
- `passed_count` (integer, required) — Anzahl erfolgreicher Testläufe
- `failed_count` (integer, required) — Anzahl fehlgeschlagener Testläufe
- `pending_count` (integer, required) — Anzahl ausstehender Testläufe
- `cancelled_count` (integer, required) — Anzahl der abgebrochenen Testdurchläufe
- `title` (string, required) — Titel der Testausführung – bei Ordnerausführungen der Ordnername, andernfalls der Name des einzelnen Tests oder die Anzahl der Tests
- `agent_id` (string, optional, nullable) — Die ID des Agenten, zu dem dieser Testaufruf gehört
- `branch_id` (string, optional, nullable) — Die ID des Branches, auf dem dieser Testaufruf ausgeführt wurde
- `version_id` (string, optional, nullable) — Die ID der Agent-Version, mit der dieser Testaufruf ausgeführt wurde. Bei Entwürfen oder Ausführungen mit Konfigurationsüberschreibung ist dies die Version, auf die diese nicht übernommenen Änderungen angewendet wurden. None gilt nur für Ausführungen, die erfasst wurden, bevor dieses Feld existierte.
- `ran_against_draft` (boolean, optional, default: false) — Gibt an, ob der Run nicht festgeschriebene Änderungen enthielt, die zusätzlich zu version_id angewendet wurden, z. B. einen gespeicherten Entwurf oder eine Ad-hoc-Konfigurationsüberschreibung.
- `runs_diverged_from_version` (boolean, optional, default: false) — Gibt an, ob die Test-Runs in diesem Aufruf nicht alle mit derselben Version ausgeführt wurden. Dies passiert, wenn eine Teilmenge der Runs nach dem ursprünglichen Run erneut gesendet wurde. Wenn true, beschreibt version_id die letzte erneute Übermittlung statt jeden Run.
- `access_info` (ResourceAccessInfo, optional, nullable) — Die Zugriffsinformationen des Testaufrufs
- `repeat_count` (integer, optional, default: 1) — Anzahl der Wiederholungen jedes Tests in diesem Aufruf
- `cancelled` (boolean, optional, default: false) — Ob dieser Testaufruf abgebrochen wurde
- `credits_used` (integer, optional, nullable) — Gesamte abgerechnete Credits aller Testläufe in diesem Aufruf. None, wenn für keinen Lauf Kostendaten vorliegen.
- `total_price` (double, optional, nullable) — Gesamtpreis in USD aller Testläufe in diesem Aufruf. None, wenn für keinen Lauf Preisdaten vorliegen.

### ListResponseMeta

- `total` (integer, optional, nullable)
- `page` (integer, optional, nullable)
- `page_size` (integer, optional, nullable)

### ValidationError

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

### ResourceAccessInfo

- `is_creator` (boolean, required) — Ob der Nutzer, der die Anfrage stellt, den Agenten erstellt hat.
- `creator_name` (string, required) — Name des Erstellers des Agenten
- `creator_email` (string, required) — E-Mail-Adresse des Erstellers des Agents
- `role` (enum, required) — Die Rolle des Benutzers, der die Anfrage stellt
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `anonymous_access_level_override` (enum, optional, nullable) — Die Zugriffsebene für anonyme Nutzer. Bei None ist die Ressource nicht öffentlich freigegeben.
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `access_source` (enum, optional, nullable) — Warum der anfragende Nutzer Zugriff auf diese Ressource hat. 'creator' = der Aufrufer ist der Eigentümer. 'explicit' = der Aufrufer (oder eine seiner Workspace-Gruppen) ist zusätzlich zur workspaceweiten Gruppe „everyone“ in role_to_group_ids aufgeführt. 'workspace_default' = die workspaceweite Gruppe „everyone“ ist in role_to_group_ids aufgeführt (jedes nicht anonyme Workspace-Mitglied, einschließlich Administratoren, sieht diese Ressource). 'workspace_admin' = der Aufrufer ist Workspace-Administrator und der Administratorzugang ist der *einzige* Zugriffsweg; reserviert für Dokumente, die sonst niemand sehen kann. Ermöglicht der Benutzeroberfläche offenzulegen, warum ein Betrachter mit Administrator-Bypass ein Dokument sieht, das nicht explizit mit ihm geteilt wurde.
  - Allowed values: `creator`, `explicit`, `workspace_admin`, `workspace_default`

### ValidationErrorLocItems

## Examples

**Response**

```json
{
  "results": [
    {
      "id": "string",
      "created_at_unix_secs": 1,
      "test_run_count": 1,
      "passed_count": 1,
      "failed_count": 1,
      "pending_count": 1,
      "cancelled_count": 1,
      "title": "string",
      "agent_id": "string",
      "branch_id": "string",
      "version_id": "string",
      "ran_against_draft": false,
      "runs_diverged_from_version": false,
      "access_info": {
        "is_creator": true,
        "creator_name": "John Doe",
        "creator_email": "john.doe@example.com",
        "role": "admin",
        "access_source": "creator"
      },
      "repeat_count": 1,
      "cancelled": false,
      "credits_used": 1,
      "total_price": 1.1
    }
  ],
  "has_more": true,
  "meta": {
    "total": 1,
    "page": 1,
    "page_size": 1
  },
  "next_cursor": "string"
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/test-invocations"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/test-invocations';
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/test-invocations"

	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/test-invocations")

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/test-invocations")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.elevenlabs.io/v1/convai/test-invocations');

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

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/test-invocations");
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/test-invocations")! 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()
```