Delete Webhook
curl --request DELETE \
--url https://api.example.com/webhooks/{id} \
--header 'Authorization: <authorization>'import requests
url = "https://api.example.com/webhooks/{id}"
headers = {"Authorization": "<authorization>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', 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 => "DELETE",
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("DELETE", 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.delete("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::Delete.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_bodyWebhooks
Delete Webhook
DELETE
/
webhooks
/
{id}
Delete Webhook
curl --request DELETE \
--url https://api.example.com/webhooks/{id} \
--header 'Authorization: <authorization>'import requests
url = "https://api.example.com/webhooks/{id}"
headers = {"Authorization": "<authorization>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', 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 => "DELETE",
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("DELETE", 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.delete("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::Delete.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_bodyDeletes a webhook configuration.
Overview
Permanently delete a webhook configuration. Pending deliveries will not be sent after deletion.This action is irreversible. All pending deliveries for this webhook will be
cancelled and not sent.
Authentication
string
required
Bearer token with
write:webhooks scopePath Parameters
string
required
The webhook configuration ID (UUID v4)
Response
Returns204 No Content on successful deletion.
Example Request
curl -X DELETE 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}`,
{
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.INSTAVIEW_API_KEY}`
}
}
);
if (response.status === 204) {
console.log('Webhook deleted successfully');
}
webhook_id = '550e8400-e29b-41d4-a716-446655440000'
response = requests.delete(
f'https://api.instaview.sk/webhooks/{webhook_id}',
headers={
'Authorization': f'Bearer {os.environ["INSTAVIEW_API_KEY"]}'
}
)
if response.status_code == 204:
print('Webhook deleted successfully')
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"
}
Best Practices
Before deleting a webhook:- Disable first - Set
isActive: falseto test impact - Monitor for issues - Ensure no critical integrations depend on it
- Update dependent systems - Notify systems expecting webhook deliveries
Alternative: Disable Instead of Delete
If you might need the webhook later, consider disabling it instead:// Disable instead of delete
await fetch(`https://api.instaview.sk/webhooks/${webhookId}`, {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
isActive: false
})
});
Related
List Webhooks
List all webhook configurations
Create Webhook
Create a new webhook