curl --request PATCH \
--url https://api-prod.studio.getsupervisor.ai/v1/webhooks/{webhookId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "<string>",
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"isActive": true,
"headers": {}
}
'import requests
url = "https://api-prod.studio.getsupervisor.ai/v1/webhooks/{webhookId}"
payload = {
"url": "<string>",
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"isActive": True,
"headers": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: '<string>',
agentId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
description: '<string>',
isActive: true,
headers: {}
})
};
fetch('https://api-prod.studio.getsupervisor.ai/v1/webhooks/{webhookId}', 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/webhooks/{webhookId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'url' => '<string>',
'agentId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'description' => '<string>',
'isActive' => true,
'headers' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-prod.studio.getsupervisor.ai/v1/webhooks/{webhookId}"
payload := strings.NewReader("{\n \"url\": \"<string>\",\n \"agentId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"description\": \"<string>\",\n \"isActive\": true,\n \"headers\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api-prod.studio.getsupervisor.ai/v1/webhooks/{webhookId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\",\n \"agentId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"description\": \"<string>\",\n \"isActive\": true,\n \"headers\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.studio.getsupervisor.ai/v1/webhooks/{webhookId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"<string>\",\n \"agentId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"description\": \"<string>\",\n \"isActive\": true,\n \"headers\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"url": "<string>",
"isActive": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"method": "POST",
"secretPreview": "<string>",
"lastDeliveryAt": "2023-11-07T05:31:56Z",
"headers": {},
"successCount": 1,
"failureCount": 1
}Actualizar webhook
Actualiza campos opcionales del webhook, incluida la asociación a un agente y la URL sin restricciones de unicidad.
curl --request PATCH \
--url https://api-prod.studio.getsupervisor.ai/v1/webhooks/{webhookId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "<string>",
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"isActive": true,
"headers": {}
}
'import requests
url = "https://api-prod.studio.getsupervisor.ai/v1/webhooks/{webhookId}"
payload = {
"url": "<string>",
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"isActive": True,
"headers": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: '<string>',
agentId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
description: '<string>',
isActive: true,
headers: {}
})
};
fetch('https://api-prod.studio.getsupervisor.ai/v1/webhooks/{webhookId}', 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/webhooks/{webhookId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'url' => '<string>',
'agentId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'description' => '<string>',
'isActive' => true,
'headers' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-prod.studio.getsupervisor.ai/v1/webhooks/{webhookId}"
payload := strings.NewReader("{\n \"url\": \"<string>\",\n \"agentId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"description\": \"<string>\",\n \"isActive\": true,\n \"headers\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api-prod.studio.getsupervisor.ai/v1/webhooks/{webhookId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\",\n \"agentId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"description\": \"<string>\",\n \"isActive\": true,\n \"headers\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.studio.getsupervisor.ai/v1/webhooks/{webhookId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"<string>\",\n \"agentId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"description\": \"<string>\",\n \"isActive\": true,\n \"headers\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"url": "<string>",
"isActive": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"method": "POST",
"secretPreview": "<string>",
"lastDeliveryAt": "2023-11-07T05:31:56Z",
"headers": {},
"successCount": 1,
"failureCount": 1
}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 webhook (UUID v4)
Body
Debe ser https.
Identificador del agente asociado cuando aplica.
500Headers adicionales. Si incluye Authorization, se persiste cifrado y nunca se devuelve en WebhookDetail.headers.
Show child attributes
Show child attributes
Método HTTP para entregar eventos del webhook
GET, POST Response
OK
Debe ser https.
Identificador del agente asociado cuando aplica.
500Método HTTP para entregar eventos del webhook
GET, POST Vista previa enmascarada del secreto (prefix...suffix).
Headers permitidos (allowlist).
Si existe Authorization, se persiste cifrado por separado y se devuelve redacted (p.ej. ********). El valor real nunca se devuelve.
Si el cliente reenvía el valor redacted, el backend lo trata como "sin cambios".
Show child attributes
Show child attributes
x >= 0x >= 0