curl --request POST \
--url https://api-prod.studio.getsupervisor.ai/v1/agents/{agentId}/rebuild \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-prod.studio.getsupervisor.ai/v1/agents/{agentId}/rebuild"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-prod.studio.getsupervisor.ai/v1/agents/{agentId}/rebuild', 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/agents/{agentId}/rebuild",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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/agents/{agentId}/rebuild"
req, _ := http.NewRequest("POST", url, nil)
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.post("https://api-prod.studio.getsupervisor.ai/v1/agents/{agentId}/rebuild")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.studio.getsupervisor.ai/v1/agents/{agentId}/rebuild")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"agentType": "chat",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "inactive",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"totalCalls": 1,
"totalOperationalDays": 1,
"goalAchievedPercentage": 50,
"version": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "<string>",
"number": 123
},
"description": "<string>",
"avatarUrl": "<string>",
"debounceDelayMs": 1,
"ownerUserId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"knowledgeBaseIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}{
"statusCode": 123,
"message": "<string>",
"error": "<string>",
"path": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"details": {
"subcode": "<string>",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"statusCode": 123,
"message": "<string>",
"error": "<string>",
"path": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"details": {
"subcode": "<string>",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"statusCode": 123,
"message": "<string>",
"error": "<string>",
"path": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"details": {
"subcode": "<string>",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Reintentar el build de un agente
Reintenta la construcción (build) de un agente que quedó en estado failed,
reutilizando los inputs originales con los que se creó (brief, URL de research,
documentos y modo) — el cliente no necesita recapturar nada.
- Solo aplica a agentes en estado
failed. - Re-ejecuta el runtime sobre el MISMO agente (
failed→building→active/failed). - La respuesta puede ser un stream SSE de progreso del build (igual que en la creación).
curl --request POST \
--url https://api-prod.studio.getsupervisor.ai/v1/agents/{agentId}/rebuild \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-prod.studio.getsupervisor.ai/v1/agents/{agentId}/rebuild"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-prod.studio.getsupervisor.ai/v1/agents/{agentId}/rebuild', 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/agents/{agentId}/rebuild",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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/agents/{agentId}/rebuild"
req, _ := http.NewRequest("POST", url, nil)
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.post("https://api-prod.studio.getsupervisor.ai/v1/agents/{agentId}/rebuild")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.studio.getsupervisor.ai/v1/agents/{agentId}/rebuild")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"agentType": "chat",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "inactive",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"totalCalls": 1,
"totalOperationalDays": 1,
"goalAchievedPercentage": 50,
"version": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "<string>",
"number": 123
},
"description": "<string>",
"avatarUrl": "<string>",
"debounceDelayMs": 1,
"ownerUserId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"knowledgeBaseIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}{
"statusCode": 123,
"message": "<string>",
"error": "<string>",
"path": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"details": {
"subcode": "<string>",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"statusCode": 123,
"message": "<string>",
"error": "<string>",
"path": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"details": {
"subcode": "<string>",
"workspaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"statusCode": 123,
"message": "<string>",
"error": "<string>",
"path": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<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. Obligatorio al autenticar con Authorization: Bearer, donde su ausencia devuelve 400 Workspace context is required. Con x-api-key es opcional: la llave ya identifica a su workspace y lo que mandes aquí se ignora.
Path Parameters
Identificador del agente
Response
Build reiniciado (detalle del agente; opcionalmente stream SSE de progreso)
chat, voice inactive, training, active, archived, building, failed Total de llamadas realizadas por el agente.
x >= 0Total de días operativos desde la creación del agente.
x >= 0Porcentaje de llamadas donde el objetivo fue alcanzado.
0 <= x <= 100La versión vigente del agente: la active si la hay y, si no, el borrador más
reciente. Es de aquí de donde sale el identificador de versión que piden las rutas
de blueprint, instrucciones y publicación — no hay un versionId plano.
Se omite cuando el agente todavía no tiene ninguna versión.
Show child attributes
Show child attributes
URL pública opcional utilizada para representar al agente.
Delay opcional antes de enviar respuestas (milisegundos).
x >= 0Las bases de conocimiento que este agente consulta durante la conversación. Vacío significa que no consulta ninguna, no que no se sepa. Es la selección del cliente, leída del mismo sitio del que la lee el sync al publicar una versión, así que no puede divergir de lo que se toma como entrada al publicar. Al publicar, el proveedor de voz recibe sólo las que además están listas y son suyas: una base a medio indexar aparece aquí y todavía no viaja.
