> 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 invocaciones de prueba

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

Enumera todas las invocaciones de pruebas con compatibilidad con paginación y filtrado de búsqueda opcional.

Reference: https://elevenlabs.io/docs/eleven-agents/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) — Filtra por ID de agente
- `branch_id` (string, optional) — Filtra por ID de rama
- `test_id` (string, optional) — Filtra las invocaciones que incluyen una ejecución de este ID de prueba
- `start_time` (integer, optional) — Límite inferior inclusivo de created_at, en segundos Unix
- `end_time` (integer, optional) — Límite superior inclusivo de created_at, en segundos Unix
- `version_id` (string, optional) — Filtra por la versión del agente con la que se ejecutaron las pruebas
- `page_size` (integer, optional, default: 30) — Número máximo de pruebas que se devolverán. No puede superar 100; el valor predeterminado es 30.
- `search` (string, optional) — Consulta de búsqueda para filtrar pruebas y carpetas por nombre.
- `cursor` (string, optional) — Se usa para obtener la página siguiente. El cursor se devuelve en la respuesta.

## Response

### 200

Respuesta correcta.

- `results` (list of TestInvocationSummaryResponseModel, required)
- `has_more` (boolean, required) — Indica si hay más resultados disponibles
- `meta` (ListResponseMeta, optional)
- `next_cursor` (string, optional) — Cursor para la siguiente página de resultados

## Errors

### 422 Invocations List Request Unprocessable Entity Error

Error de validación

- `detail` (list of ValidationError, optional)

## Types

### TestInvocationSummaryResponseModel

- `id` (string, required) — El ID de la ejecución de prueba
- `created_at_unix_secs` (integer, required) — Hora de creación de la invocación de prueba en segundos Unix
- `test_run_count` (integer, required) — Número de ejecuciones de prueba en esta invocación
- `passed_count` (integer, required) — Número de ejecuciones de prueba superadas
- `failed_count` (integer, required) — Número de ejecuciones de prueba que han fallado
- `pending_count` (integer, required) — Número de ejecuciones de prueba pendientes
- `cancelled_count` (integer, required) — Número de ejecuciones de prueba canceladas
- `title` (string, required) — Título de la ejecución de pruebas: el nombre de la carpeta para ejecuciones de carpetas o, de lo contrario, el nombre de la prueba individual o el número de pruebas
- `agent_id` (string, optional) — El ID del agente al que pertenece esta ejecución de prueba
- `branch_id` (string, optional) — El ID de la rama en la que se ejecutó esta prueba
- `version_id` (string, optional) — El ID de la versión del agente con la que se ejecutó esta prueba. En ejecuciones con borradores o anulaciones de configuración, es la versión sobre la que se aplicaron esos cambios sin confirmar. None solo se aplica a ejecuciones registradas antes de que existiera este campo.
- `ran_against_draft` (boolean, optional, default: false) — Indica si la ejecución incluyó cambios sin confirmar (un borrador guardado o una anulación de configuración ad hoc) aplicados sobre version_id.
- `runs_diverged_from_version` (boolean, optional, default: false) — Indica si las ejecuciones de prueba de esta invocación no se ejecutaron todas con la misma versión, lo que ocurre cuando se vuelve a enviar un subconjunto de ejecuciones después de la ejecución original. Cuando es true, version_id describe el reenvío más reciente en lugar de todas las ejecuciones.
- `access_info` (ResourceAccessInfo, optional) — La información de acceso de la invocación de prueba.
- `repeat_count` (integer, optional, default: 1) — Número de veces que se ha repetido cada prueba en esta invocación
- `cancelled` (boolean, optional, default: false) — Indica si se canceló esta invocación de prueba
- `credits_used` (integer, optional) — Total de créditos facturados en las ejecuciones de pruebas de esta invocación. None cuando ninguna ejecución tiene datos de coste.
- `total_price` (double, optional) — Precio total en USD de las ejecuciones de pruebas de esta invocación. None cuando ninguna ejecución tiene datos de precio.

### ListResponseMeta

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

### ValidationError

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

### ResourceAccessInfo

- `is_creator` (boolean, required) — Indica si el usuario que realiza la solicitud es el creador del agente
- `creator_name` (string, required) — Nombre del creador del agente
- `creator_email` (string, required) — Correo electrónico del creador del agente
- `role` (enum, required) — El rol del usuario que realiza la solicitud
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `anonymous_access_level_override` (enum, optional) — El nivel de acceso para usuarios anónimos. Si es None, el recurso no se comparte públicamente.
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `access_source` (enum, optional) — Por qué el usuario solicitante tiene acceso a este recurso. 'creator' = quien realiza la llamada es el propietario. 'explicit' = quien realiza la llamada (o uno de sus grupos del espacio de trabajo) figura en role_to_group_ids, además del grupo general de todos del espacio de trabajo. 'workspace_default' = el grupo general de todos del espacio de trabajo figura en role_to_group_ids (todos los miembros no anónimos del espacio de trabajo, incluidos los administradores, ven este recurso). 'workspace_admin' = quien realiza la llamada es administrador del espacio de trabajo y el puesto de administrador es la *única* vía de acceso; reservado para documentos que nadie más puede ver. Permite que la interfaz revele por qué un usuario que omite los permisos de administrador ve un documento que no se compartió explícitamente con él.
  - Allowed values: `creator`, `explicit`, `workspace_admin`, `workspace_default`

### ValidationErrorLocItem

## Examples

**Response**

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

**SDK Code**

```python
import requests

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

querystring = {"agent_id":"agent_id","branch_id":"branch_id","cursor":"cursor","end_time":"1","page_size":"1","search":"search","start_time":"1","test_id":"test_id","version_id":"version_id"}

response = requests.get(url, params=querystring)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/test-invocations?agent_id=agent_id&branch_id=branch_id&cursor=cursor&end_time=1&page_size=1&search=search&start_time=1&test_id=test_id&version_id=version_id';
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?agent_id=agent_id&branch_id=branch_id&cursor=cursor&end_time=1&page_size=1&search=search&start_time=1&test_id=test_id&version_id=version_id"

	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?agent_id=agent_id&branch_id=branch_id&cursor=cursor&end_time=1&page_size=1&search=search&start_time=1&test_id=test_id&version_id=version_id")

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?agent_id=agent_id&branch_id=branch_id&cursor=cursor&end_time=1&page_size=1&search=search&start_time=1&test_id=test_id&version_id=version_id")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.elevenlabs.io/v1/convai/test-invocations?agent_id=agent_id&branch_id=branch_id&cursor=cursor&end_time=1&page_size=1&search=search&start_time=1&test_id=test_id&version_id=version_id');

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

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/test-invocations?agent_id=agent_id&branch_id=branch_id&cursor=cursor&end_time=1&page_size=1&search=search&start_time=1&test_id=test_id&version_id=version_id");
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?agent_id=agent_id&branch_id=branch_id&cursor=cursor&end_time=1&page_size=1&search=search&start_time=1&test_id=test_id&version_id=version_id")! 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()
```