curl --request GET \
--url https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId} \
--header 'Authorization: Bearer <token>' \
--header 'x-workspace-id: <x-workspace-id>'import requests
url = "https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId}"
headers = {
"x-workspace-id": "<x-workspace-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-workspace-id': '<x-workspace-id>', Authorization: 'Bearer <token>'}
};
fetch('https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"x-workspace-id: <x-workspace-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-workspace-id", "<x-workspace-id>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId}")
.header("x-workspace-id", "<x-workspace-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-workspace-id"] = '<x-workspace-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "9d0a1b2c-3d4e-4f50-8a6b-7c8d9e0f1a2b",
"name": "Manual de garantías",
"description": "Lo que el agente cita cuando preguntan por la garantía",
"status": "ready",
"agentCount": 2,
"documentCount": 2,
"totalSizeBytes": 481203,
"documents": [
{
"id": "doc-1",
"name": "garantia-2026.pdf",
"sizeBytes": 320145,
"url": null
},
{
"id": "doc-2",
"name": "anexo-devoluciones.pdf",
"sizeBytes": 161058,
"url": "https://files.example.com/anexo-devoluciones.pdf"
}
],
"errorMessages": [],
"createdAt": "2026-09-01T10:00:00.000Z",
"updatedAt": "2026-09-01T10:04:12.000Z"
}{
"code": "<string>",
"message": "<string>",
"details": {
"subcode": "<string>",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"code": "<string>",
"message": "<string>",
"details": {
"subcode": "<string>",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"code": "<string>",
"message": "<string>",
"details": {
"subcode": "<string>",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Consultar una base de conocimiento y sus documentos
Es la única lectura que consulta al proveedor: los documentos y el estado del
indexado sólo los tiene él, así que aquí documentCount, totalSizeBytes y status
van en vivo y pueden diferir de lo que devolvió el listado.
Si el proveedor no responde, esto contesta 502 en vez de servir lo que dice la fila
con una lista vacía — una lista vacía diría que los documentos se perdieron.
Una base todavía en queued no tiene a quién preguntarle: se sirve lo que dice la
fila, con documents vacío. Es un estado normal del alta, no un fallo.
curl --request GET \
--url https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId} \
--header 'Authorization: Bearer <token>' \
--header 'x-workspace-id: <x-workspace-id>'import requests
url = "https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId}"
headers = {
"x-workspace-id": "<x-workspace-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-workspace-id': '<x-workspace-id>', Authorization: 'Bearer <token>'}
};
fetch('https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"x-workspace-id: <x-workspace-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-workspace-id", "<x-workspace-id>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId}")
.header("x-workspace-id", "<x-workspace-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.studio.getsupervisor.ai/v1/knowledge-bases/{knowledgeBaseId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-workspace-id"] = '<x-workspace-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "9d0a1b2c-3d4e-4f50-8a6b-7c8d9e0f1a2b",
"name": "Manual de garantías",
"description": "Lo que el agente cita cuando preguntan por la garantía",
"status": "ready",
"agentCount": 2,
"documentCount": 2,
"totalSizeBytes": 481203,
"documents": [
{
"id": "doc-1",
"name": "garantia-2026.pdf",
"sizeBytes": 320145,
"url": null
},
{
"id": "doc-2",
"name": "anexo-devoluciones.pdf",
"sizeBytes": 161058,
"url": "https://files.example.com/anexo-devoluciones.pdf"
}
],
"errorMessages": [],
"createdAt": "2026-09-01T10:00:00.000Z",
"updatedAt": "2026-09-01T10:04:12.000Z"
}{
"code": "<string>",
"message": "<string>",
"details": {
"subcode": "<string>",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"code": "<string>",
"message": "<string>",
"details": {
"subcode": "<string>",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"code": "<string>",
"message": "<string>",
"details": {
"subcode": "<string>",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Identificador del workspace multi-tenant.
Path Parameters
Identificador de la base en Agents Studio.
Response
La base, con los documentos que el proveedor reporta
Identificador de la base en Agents Studio. La referencia interna del proveedor no se publica.
queued: dada de alta, todavía no existe en el proveedor. syncing: el proveedor
la está indexando. ready: el agente ya puede consultarla. error: el indexado
falló, y errorMessages dice por qué.
queued, syncing, ready, error Cuántos agentes del workspace consultan esta base. Cuenta agentes, no conexiones: un agente con dos conexiones a la misma base suma uno.
Cero significa que ninguno la consulta, y por tanto que retirarla no cambia el comportamiento de nadie.
Vacío en el listado a propósito. Los documentos los tiene el proveedor y traerlos costaría una llamada por elemento de la página. Vienen en el detalle.
Show child attributes
Show child attributes
Vacío salvo que status sea error.
