Get a webhook endpoint
curl --request GET \
--url https://intentleads.si/api/v1/webhooks/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://intentleads.si/api/v1/webhooks/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/webhooks/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"endpoint": {
"id": "5b1d0a7e-3c2f-4e0b-9a51-2f6c8d7e9a10",
"url": "https://app.example.com/hooks/intent-leads",
"description": "CRM sync",
"events": "*",
"receives": [
"removals",
"visitors"
],
"enabled": true,
"status": "ok",
"failed_attempts": 0,
"failing_since": null,
"next_retry_at": null,
"last_attempt_at": "2026-11-12T09:15:02.118Z",
"last_status": 200,
"last_error": null,
"last_success_at": "2026-11-12T09:15:02.118Z",
"waiting": {
"removals": 0
},
"legacy": false,
"created_at": "2026-11-11T14:00:00.000Z",
"updated_at": "2026-11-11T14:00:00.000Z"
}
}{
"error": "unauthorized",
"message": "Send a valid API key as: Authorization: Bearer il_live_…"
}{
"error": "not_found",
"message": "No webhook endpoint with that id."
}{
"error": "internal_error",
"message": "Something went wrong. Try again."
}Get a webhook endpoint
One endpoint, with what’s waiting per event.
Free. This doesn’t spend your balance.
GET
/
api
/
v1
/
webhooks
/
{id}
Get a webhook endpoint
curl --request GET \
--url https://intentleads.si/api/v1/webhooks/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://intentleads.si/api/v1/webhooks/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/webhooks/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"endpoint": {
"id": "5b1d0a7e-3c2f-4e0b-9a51-2f6c8d7e9a10",
"url": "https://app.example.com/hooks/intent-leads",
"description": "CRM sync",
"events": "*",
"receives": [
"removals",
"visitors"
],
"enabled": true,
"status": "ok",
"failed_attempts": 0,
"failing_since": null,
"next_retry_at": null,
"last_attempt_at": "2026-11-12T09:15:02.118Z",
"last_status": 200,
"last_error": null,
"last_success_at": "2026-11-12T09:15:02.118Z",
"waiting": {
"removals": 0
},
"legacy": false,
"created_at": "2026-11-11T14:00:00.000Z",
"updated_at": "2026-11-11T14:00:00.000Z"
}
}{
"error": "unauthorized",
"message": "Send a valid API key as: Authorization: Bearer il_live_…"
}{
"error": "not_found",
"message": "No webhook endpoint with that id."
}{
"error": "internal_error",
"message": "Something went wrong. Try again."
}Authorizations
Headers
Only with an organization key: the workspace to act in (its id; ?workspace=<id> works too). Lanes, leads, exports, lists, websites and webhooks live in workspaces. Without it, an organization key acts in its only workspace, or gets 400 workspace_required (with the list of workspaces) when it has several. Workspace keys don't need it. On keys, team and activity it switches from the organization's own to that workspace's.