List Webhooks
curl --request GET \
--url https://api.example.com/v1/webhooksimport requests
url = "https://api.example.com/v1/webhooks"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/webhooks', 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/v1/webhooks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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/v1/webhooks"
req, _ := http.NewRequest("GET", url, nil)
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/v1/webhooks")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/webhooks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"webhooks": [
{
"id": "<string>",
"url": "<string>",
"events": [
{}
],
"description": "<string>",
"active": true,
"last_delivery_status": "<string>",
"last_delivery_at": "<string>",
"created_at": "<string>"
}
]
}
}Webhooks
List Webhooks
Retrieve all webhook endpoints registered in your workspace
GET
/
v1
/
webhooks
List Webhooks
curl --request GET \
--url https://api.example.com/v1/webhooksimport requests
url = "https://api.example.com/v1/webhooks"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/webhooks', 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/v1/webhooks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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/v1/webhooks"
req, _ := http.NewRequest("GET", url, nil)
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/v1/webhooks")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/webhooks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"webhooks": [
{
"id": "<string>",
"url": "<string>",
"events": [
{}
],
"description": "<string>",
"active": true,
"last_delivery_status": "<string>",
"last_delivery_at": "<string>",
"created_at": "<string>"
}
]
}
}Request
Headers
Authorization: Bearer wbk_your_api_key_here
Requires an API key with the
webhooks:read permission.Response
object
Show properties
Show properties
array
Array of webhook endpoint objects
Show Webhook object
Show Webhook object
string
Unique webhook ID (UUID)
string
The HTTPS target URL
array
List of subscribed event types
string
Optional human-readable description
boolean
Whether the webhook is currently receiving deliveries
string
Status of the most recent delivery:
success, failed, or null if no deliveries yetstring
ISO 8601 timestamp of the most recent delivery attempt
string
ISO 8601 timestamp when the webhook was registered
The signing secret is never returned after creation. If you lose it, delete the webhook and create a new one.
curl https://data.leadlex.com/functions/v1/api-gateway/v1/webhooks \
-H "Authorization: Bearer wbk_your_api_key_here"
import requests
API_KEY = "wbk_your_api_key_here"
BASE_URL = "https://data.leadlex.com/functions/v1/api-gateway"
headers = {"Authorization": f"Bearer {API_KEY}"}
response = requests.get(f"{BASE_URL}/v1/webhooks", headers=headers)
webhooks = response.json()["data"]["webhooks"]
const response = await fetch(
'https://data.leadlex.com/functions/v1/api-gateway/v1/webhooks',
{
headers: { 'Authorization': 'Bearer wbk_your_api_key_here' }
}
);
const { data } = await response.json();
console.log(data.webhooks);
Example Response
{
"data": {
"webhooks": [
{
"id": "7f3c4d2a-1b8e-4a9c-9d6f-2e5b8c7a1f3d",
"url": "https://example.com/leadlex/webhook",
"events": ["contact.created", "deal.updated"],
"description": "Production CRM sync",
"active": true,
"last_delivery_status": "success",
"last_delivery_at": "2026-04-17T14:23:05Z",
"created_at": "2026-03-01T09:12:00Z"
}
]
}
}
Errors
| Status | Code | Description |
|---|---|---|
| 401 | invalid_key | Invalid or expired API key |
| 403 | insufficient_permissions | Missing webhooks:read permission |
| 429 | rate_limited | Rate limit exceeded |