Get Webhook
curl --request GET \
--url https://api.example.com/webhooks/{id} \
--header 'Authorization: <authorization>'import requests
url = "https://api.example.com/webhooks/{id}"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.example.com/webhooks/{id}', 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.example.com/webhooks/{id}",
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: <authorization>"
],
]);
$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.example.com/webhooks/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
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.example.com/webhooks/{id}")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/webhooks/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"apiKeyId": "<string>",
"url": "<string>",
"name": "<string>",
"description": "<string>",
"headers": [
{}
],
"events": [
{}
],
"vocabulary": "<string>",
"isActive": true,
"maxRetries": 123,
"timeoutMs": 123,
"consecutiveFailures": 123,
"circuitOpenedAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}Webhooks
Get Webhook
GET
/
webhooks
/
{id}
Get Webhook
curl --request GET \
--url https://api.example.com/webhooks/{id} \
--header 'Authorization: <authorization>'import requests
url = "https://api.example.com/webhooks/{id}"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.example.com/webhooks/{id}', 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.example.com/webhooks/{id}",
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: <authorization>"
],
]);
$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.example.com/webhooks/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
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.example.com/webhooks/{id}")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/webhooks/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"apiKeyId": "<string>",
"url": "<string>",
"name": "<string>",
"description": "<string>",
"headers": [
{}
],
"events": [
{}
],
"vocabulary": "<string>",
"isActive": true,
"maxRetries": 123,
"timeoutMs": 123,
"consecutiveFailures": 123,
"circuitOpenedAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}Returns a single webhook configuration by ID.
Overview
Retrieve detailed information about a specific webhook configuration, including its health status, subscribed events, and configuration details.Authentication
string
required
Bearer token with
read:webhooks scopePath Parameters
string
required
The webhook configuration ID (UUID v4)
Response
string
Unique identifier for the webhook
string
The API key ID this webhook belongs to
string
The endpoint URL receiving webhook notifications
string
Human-readable name for the webhook
string
Description of the webhook’s purpose
array
Custom headers configured for this webhook. Sensitive header values are masked.
array
Array of subscribed event type labels, spelled in the webhook’s own
vocabularystring
Which spelling this webhook receives for the five conversation events:
NEUTRAL or LEGACY.NEUTRAL is the default for webhooks created since the option existed, and delivers
conversation.completed, conversation.failed, conversation.started,
conversation.rescheduled and conversation.cancelled. LEGACY — every webhook created
before it — delivers the same five as interview.*. Nothing else differs: the same
subscriptions fire on the same occasions, and ANALYSIS_*, SOURCING_*, ENRICH_* and
ping carry one spelling either way. See Event name
vocabulary.boolean
Whether the webhook is currently active
number
Maximum retry attempts for failed deliveries
number
Request timeout in milliseconds
number
Current count of consecutive delivery failures
string
ISO 8601 timestamp when circuit breaker was triggered (null if closed)
string
ISO 8601 timestamp when webhook was created
string
ISO 8601 timestamp when webhook was last updated
Example Request
curl -X GET https://api.instaview.sk/webhooks/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer sk_your_key_here"
const webhookId = '550e8400-e29b-41d4-a716-446655440000';
const response = await fetch(
`https://api.instaview.sk/webhooks/${webhookId}`,
{
headers: {
'Authorization': `Bearer ${process.env.INSTAVIEW_API_KEY}`
}
}
);
const data = await response.json();
console.log(`Webhook: ${data.name}`);
console.log(`Events: ${data.events.join(', ')}`);
console.log(`Active: ${data.isActive}`);
webhook_id = '550e8400-e29b-41d4-a716-446655440000'
response = requests.get(
f'https://api.instaview.sk/webhooks/{webhook_id}',
headers={
'Authorization': f'Bearer {os.environ["INSTAVIEW_API_KEY"]}'
}
)
data = response.json()
print(f'Webhook: {data["name"]}')
print(f'Events: {", ".join(data["events"])}')
print(f'Active: {data["isActive"]}')
Example Response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"apiKeyId": "api-key-uuid",
"url": "https://api.example.com/webhooks/instaview",
"name": "Production Webhook",
"description": "Receives conversation completion notifications",
"headers": [
{
"name": "Authorization",
"isMasked": true
},
{
"name": "X-Custom-Header",
"isMasked": false
}
],
"events": [
"conversation.completed",
"analysis.completed"
],
"vocabulary": "NEUTRAL",
"isActive": true,
"maxRetries": 3,
"timeoutMs": 30000,
"consecutiveFailures": 0,
"circuitOpenedAt": null,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
Error Responses
404 - Webhook Not Found
404 - Webhook Not Found
{
"statusCode": 404,
"message": "Webhook configuration not found",
"traceId": "4b1f0c9d2e6a47f8b3c5d7e9a1b2c3d4",
"timestamp": "2026-08-03T10:30:00.000Z"
}
403 - Access Denied
403 - Access Denied
{
"statusCode": 403,
"message": "Access denied to this webhook configuration",
"traceId": "4b1f0c9d2e6a47f8b3c5d7e9a1b2c3d4",
"timestamp": "2026-08-03T10:30:00.000Z"
}
Related
List Webhooks
List all webhook configurations
Update Webhook
Update webhook configuration