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

# Obtener lista de la base de conocimiento

GET https://api.elevenlabs.io/v1/convai/knowledge-base

Obtén una lista de documentos disponibles de la base de conocimiento

Reference: https://elevenlabs.io/docs/api-reference/knowledge-base/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

- `page_size` (integer, optional, default: 30) — Número máximo de documentos que se devolverán. No puede superar 100; el valor predeterminado es 30.
- `search` (string, optional, nullable) — Si se especifica, la ruta de API devuelve solo los documentos de la base de conocimientos cuyos nombres comiencen con esta cadena.
- `show_only_owned_documents` (boolean, optional, default: false, deprecated) — Si se establece en true, la ruta de API devolverá solo los documentos que te pertenecen (y que no hayan sido compartidos por otra persona). Obsoleto: usa created_by_user_id en su lugar.
- `created_by_user_id` (string, optional, nullable) — Filtra documentos por ID del usuario creador. Cuando se especifica, solo se devuelven los documentos creados por este usuario. Tiene prioridad sobre show_only_owned_documents. Usa '@me' para referirte al usuario autenticado.
- `types` (list of enum, optional, nullable) — Si está presente, la ruta de API devolverá solo documentos de los tipos indicados.
  - Allowed values: `file`, `url`, `text`, `folder`
- `parent_folder_id` (string, optional, nullable) — Si se establece, la ruta de API devolverá solo documentos que sean elementos secundarios directos de la carpeta indicada.
- `ancestor_folder_id` (string, optional, nullable) — Si se establece, la ruta de API devolverá solo documentos que sean descendientes de la carpeta indicada.
- `folders_first` (boolean, optional, default: false) — Indica si las carpetas deben aparecer primero en la lista de documentos.
- `sort_direction` (enum, optional) — La dirección para ordenar los resultados
  - Allowed values: `asc`, `desc`
- `sort_by` (enum, optional, nullable) — El campo por el que se ordenarán los resultados
  - Allowed values: `name`, `created_at`, `updated_at`, `size`
- `cursor` (string, optional, nullable) — Se usa para obtener la página siguiente. El cursor se devuelve en la respuesta.

## Response

### 200

Respuesta correcta.

- `documents` (list of GetKnowledgeBaseListResponseModelDocumentsItems, 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

### GetKnowledgeBaseListResponseModelDocumentsItems

- `type`: `file` (GetKnowledgeBaseSummaryFileResponseModel)
  - `access_info` (ResourceAccessInfo, required)
  - `id` (string, required)
  - `metadata` (KnowledgeBaseDocumentMetadataResponseModel, required)
  - `name` (string, required)
  - `supported_usages` (list of enum, required)
    - Allowed values: `prompt`, `auto`
  - `dependent_agents` (list of V1ConvaiKnowledgeBaseSummariesGetResponsesContentApplicationJsonSchemaDiscriminatorMappingSuccessDataDiscriminatorMappingFileDependentAgentsItems, required, deprecated) — Este campo está obsoleto y se eliminará en el futuro; utiliza la ruta independiente para obtener agentes dependientes en su lugar.
  - `auto_sync_info` (AutoSyncInfo, optional, nullable)
  - `external_sync_info` (ExternalFileSyncInfo, optional, nullable) — Registra el enlace al archivo original en una fuente externa.
  - `folder_parent_id` (string, optional, nullable) — El ID de la carpeta principal, o null si el documento está en el nivel raíz.
  - `folder_path` (list of KnowledgeBaseFolderPathSegmentSummaryResponseModel, optional) — Los segmentos de la ruta de la carpeta que llevan a esta entidad, desde la raíz hasta la carpeta principal.
  - `is_frozen` (boolean, optional, default: false)
  - `refresh_status` (FileRefreshStatus, optional, nullable) — Estado de actualización en curso o de la última actualización de un archivo de base de conocimientos sincronizado externamente.
- `type`: `folder` (GetKnowledgeBaseSummaryFolderResponseModel)
  - `access_info` (ResourceAccessInfo, required)
  - `children_count` (integer, required)
  - `document_count` (integer, required) — Número de documentos que no son carpetas en cualquier parte del subárbol de esta carpeta (recursivo). El recuento se detiene al superar los 1000;
  - `id` (string, required)
  - `metadata` (KnowledgeBaseDocumentMetadataResponseModel, required)
  - `name` (string, required)
  - `supported_usages` (list of enum, required)
    - Allowed values: `prompt`, `auto`
  - `dependent_agents` (list of V1ConvaiKnowledgeBaseSummariesGetResponsesContentApplicationJsonSchemaDiscriminatorMappingSuccessDataDiscriminatorMappingFolderDependentAgentsItems, required, deprecated) — Este campo está obsoleto y se eliminará en el futuro; utiliza la ruta independiente para obtener agentes dependientes en su lugar.
  - `auto_sync_info` (AutoSyncInfo, optional, nullable)
  - `external_sync_info` (ExternalFolderSyncInfo, optional, nullable) — Metadatos de una carpeta de base de conocimiento que refleja una carpeta de origen externa.
  - `folder_parent_id` (string, optional, nullable) — El ID de la carpeta principal, o null si el documento está en el nivel raíz.
  - `folder_path` (list of KnowledgeBaseFolderPathSegmentSummaryResponseModel, optional) — Los segmentos de la ruta de la carpeta que llevan a esta entidad, desde la raíz hasta la carpeta principal.
  - `is_frozen` (boolean, optional, default: false)
- `type`: `text` (GetKnowledgeBaseSummaryTextResponseModel)
  - `access_info` (ResourceAccessInfo, required)
  - `id` (string, required)
  - `metadata` (KnowledgeBaseDocumentMetadataResponseModel, required)
  - `name` (string, required)
  - `supported_usages` (list of enum, required)
    - Allowed values: `prompt`, `auto`
  - `dependent_agents` (list of V1ConvaiKnowledgeBaseSummariesGetResponsesContentApplicationJsonSchemaDiscriminatorMappingSuccessDataDiscriminatorMappingTextDependentAgentsItems, required, deprecated) — Este campo está obsoleto y se eliminará en el futuro; utiliza la ruta independiente para obtener agentes dependientes en su lugar.
  - `folder_parent_id` (string, optional, nullable) — El ID de la carpeta principal, o null si el documento está en el nivel raíz.
  - `folder_path` (list of KnowledgeBaseFolderPathSegmentSummaryResponseModel, optional) — Los segmentos de la ruta de la carpeta que llevan a esta entidad, desde la raíz hasta la carpeta principal.
- `type`: `url` (GetKnowledgeBaseSummaryURLResponseModel)
  - `access_info` (ResourceAccessInfo, required)
  - `id` (string, required)
  - `metadata` (KnowledgeBaseDocumentMetadataResponseModel, required)
  - `name` (string, required)
  - `supported_usages` (list of enum, required)
    - Allowed values: `prompt`, `auto`
  - `url` (string, required)
  - `dependent_agents` (list of V1ConvaiKnowledgeBaseSummariesGetResponsesContentApplicationJsonSchemaDiscriminatorMappingSuccessDataDiscriminatorMappingUrlDependentAgentsItems, required, deprecated) — Este campo está obsoleto y se eliminará en el futuro; utiliza la ruta independiente para obtener agentes dependientes en su lugar.
  - `auto_sync_info` (AutoSyncInfo, optional, nullable)
  - `folder_parent_id` (string, optional, nullable) — El ID de la carpeta principal, o null si el documento está en el nivel raíz.
  - `folder_path` (list of KnowledgeBaseFolderPathSegmentSummaryResponseModel, optional) — Los segmentos de la ruta de la carpeta que llevan a esta entidad, desde la raíz hasta la carpeta principal.

### ValidationError

- `loc` (list of ValidationErrorLocItems, 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, nullable) — 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, nullable) — 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`

### KnowledgeBaseDocumentMetadataResponseModel

- `created_at_unix_secs` (integer, required)
- `last_updated_at_unix_secs` (integer, required)
- `size_bytes` (integer, required)

### V1ConvaiKnowledgeBaseSummariesGetResponsesContentApplicationJsonSchemaDiscriminatorMappingSuccessDataDiscriminatorMappingFileDependentAgentsItems

- `type`: `available` (DependentAvailableAgentIdentifier)
  - `access_level` (enum, required)
    - Allowed values: `admin`, `editor`, `commenter`, `viewer`
  - `created_at_unix_secs` (integer, required)
  - `id` (string, required)
  - `name` (string, required)
  - `referenced_resource_ids` (list of string, optional) — Si el agente es una dependencia transitiva, contiene los ID de los recursos de los que depende directamente el agente.
- `type`: `unknown` (DependentUnknownAgentIdentifier)
  - `id` (string, required)
  - `referenced_resource_ids` (list of string, optional) — Si el agente es una dependencia transitiva, contiene los ID de los recursos de los que depende directamente el agente.

### AutoSyncInfo

- `minimum_frequency_days` (integer, optional, default: 7) — Frecuencia mínima (en días) con la que se actualiza el documento. El intervalo real puede ser más corto, pero nunca más largo.
- `auto_remove` (boolean, optional, default: false) — Si se elimina el documento cuando la URL deja de estar disponible
- `consec_failures` (integer, optional, default: 0) — Número de errores de sincronización consecutivos
- `next_refresh_by` (integer, optional, nullable) — Marca de tiempo Unix de la próxima sincronización programada o None (en el caso de las carpetas)
- `auto_discover` (boolean, optional, default: false, deprecated) — Obsoleto. Este campo ya no tiene ningún efecto y se eliminará en una versión futura.

### ExternalFileSyncInfo

Registra el enlace al archivo original en una fuente externa.

- `type` (enum, required) — Identificador del proveedor
  - Allowed values: `google_drive`
- `source_entity_id` (string, required) — ID de entidad en el sistema externo
- `integration_connection_id` (string, required) — ID de instancia de conexión de integración
- `source_parent_entity_id` (string, required) — ID de la carpeta en el sistema externo desde el que se sincronizó este archivo
- `source_mime_type` (string, required) — Tipo MIME original en el sistema externo
- `source_modified_time` (string, required) — Hora de la última modificación en el sistema externo
- `root_folder_id` (string, optional, nullable) — ID de carpeta de la base de conocimientos de la raíz de sincronización, usado para consultar todas las entidades de un árbol de sincronización

### KnowledgeBaseFolderPathSegmentSummaryResponseModel

- `id` (string, required)

### FileRefreshStatus

Estado de actualización en curso o de la última actualización de un archivo de base de conocimientos sincronizado externamente.

- `status` (enum, optional, default: queued)
  - Allowed values: `queued`, `processing`, `succeeded`, `failed`, `skipped`, `cancelled`
- `enqueued_at` (integer, optional, nullable)
- `started_at` (integer, optional, nullable)
- `completed_at` (integer, optional, nullable)
- `last_synced_at` (integer, optional, nullable)
- `error_message` (string, optional, nullable)

### V1ConvaiKnowledgeBaseSummariesGetResponsesContentApplicationJsonSchemaDiscriminatorMappingSuccessDataDiscriminatorMappingFolderDependentAgentsItems

- `type`: `available` (DependentAvailableAgentIdentifier)
  - `access_level` (enum, required)
    - Allowed values: `admin`, `editor`, `commenter`, `viewer`
  - `created_at_unix_secs` (integer, required)
  - `id` (string, required)
  - `name` (string, required)
  - `referenced_resource_ids` (list of string, optional) — Si el agente es una dependencia transitiva, contiene los ID de los recursos de los que depende directamente el agente.
- `type`: `unknown` (DependentUnknownAgentIdentifier)
  - `id` (string, required)
  - `referenced_resource_ids` (list of string, optional) — Si el agente es una dependencia transitiva, contiene los ID de los recursos de los que depende directamente el agente.

### ExternalFolderSyncInfo

Metadatos de una carpeta de base de conocimiento que refleja una carpeta de origen externa.

- `type` (enum, required) — Identificador del proveedor
  - Allowed values: `google_drive`
- `source_entity_id` (string, required) — ID de entidad en el sistema externo
- `integration_connection_id` (string, required) — ID de instancia de conexión de integración
- `root_folder_id` (string, optional, nullable) — ID de carpeta de la base de conocimientos de la raíz de sincronización. None significa que esta carpeta es la raíz.
- `sync_cursor` (string, optional, nullable) — Cursor opaco para la sincronización incremental, interpretado por el proveedor
- `last_sync_at` (integer, optional, nullable) — Marca de tiempo Unix de la última sincronización completada

### V1ConvaiKnowledgeBaseSummariesGetResponsesContentApplicationJsonSchemaDiscriminatorMappingSuccessDataDiscriminatorMappingTextDependentAgentsItems

- `type`: `available` (DependentAvailableAgentIdentifier)
  - `access_level` (enum, required)
    - Allowed values: `admin`, `editor`, `commenter`, `viewer`
  - `created_at_unix_secs` (integer, required)
  - `id` (string, required)
  - `name` (string, required)
  - `referenced_resource_ids` (list of string, optional) — Si el agente es una dependencia transitiva, contiene los ID de los recursos de los que depende directamente el agente.
- `type`: `unknown` (DependentUnknownAgentIdentifier)
  - `id` (string, required)
  - `referenced_resource_ids` (list of string, optional) — Si el agente es una dependencia transitiva, contiene los ID de los recursos de los que depende directamente el agente.

### V1ConvaiKnowledgeBaseSummariesGetResponsesContentApplicationJsonSchemaDiscriminatorMappingSuccessDataDiscriminatorMappingUrlDependentAgentsItems

- `type`: `available` (DependentAvailableAgentIdentifier)
  - `access_level` (enum, required)
    - Allowed values: `admin`, `editor`, `commenter`, `viewer`
  - `created_at_unix_secs` (integer, required)
  - `id` (string, required)
  - `name` (string, required)
  - `referenced_resource_ids` (list of string, optional) — Si el agente es una dependencia transitiva, contiene los ID de los recursos de los que depende directamente el agente.
- `type`: `unknown` (DependentUnknownAgentIdentifier)
  - `id` (string, required)
  - `referenced_resource_ids` (list of string, optional) — Si el agente es una dependencia transitiva, contiene los ID de los recursos de los que depende directamente el agente.

### ValidationErrorLocItems

## Examples

**Response**

```json
{
  "documents": [
    {
      "access_info": {
        "access_source": "creator",
        "creator_email": "john.doe@example.com",
        "creator_name": "John Doe",
        "is_creator": true,
        "role": "admin"
      },
      "auto_sync_info": {
        "auto_discover": false,
        "auto_remove": false,
        "consec_failures": 0,
        "minimum_frequency_days": 7,
        "next_refresh_by": 1
      },
      "dependent_agents": [
        {
          "access_level": "admin",
          "created_at_unix_secs": 1,
          "id": "string",
          "name": "string",
          "referenced_resource_ids": [
            "string"
          ],
          "type": "available"
        }
      ],
      "folder_parent_id": "string",
      "folder_path": [
        {
          "id": "string"
        }
      ],
      "id": "string",
      "metadata": {
        "created_at_unix_secs": 1,
        "last_updated_at_unix_secs": 1,
        "size_bytes": 1
      },
      "name": "string",
      "supported_usages": [
        "auto"
      ],
      "type": "string",
      "url": "string"
    }
  ],
  "has_more": true,
  "next_cursor": "string"
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/knowledge-base"

response = requests.get(url)

print(response.json())
```

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

	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/knowledge-base")

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

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

$client = new \GuzzleHttp\Client();

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

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

```csharp
using RestSharp;

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