Send a test
curl --request POST \
--url https://intentleads.si/api/v1/webhooks/{id}/test \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"event": "visitors"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({event: 'visitors'})
};
fetch('https://intentleads.si/api/v1/webhooks/{id}/test', 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}/test"
payload = { "event": "visitors" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"delivered": true,
"event": "visitors",
"status": 200,
"error": null,
"response": "ok",
"duration_ms": 182,
"webhook_id": "test_9c1d2e3f4a5b6c7d8e9f0a1b"
}{
"error": "invalid_event",
"message": "Unknown event: nope. Known: removals, visitors or webhook.test."
}{
"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."
}Send a test
Sends a signed test to this endpoint now and returns what it answered. With event, a made-up sample of that event (same shape as the real thing, plus "test": true); without it, {"type": "webhook.test"}. Tests never contain real people and don’t move the endpoint’s place.
Free. This doesn’t spend your balance.
POST
/
api
/
v1
/
webhooks
/
{id}
/
test
Send a test
curl --request POST \
--url https://intentleads.si/api/v1/webhooks/{id}/test \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"event": "visitors"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({event: 'visitors'})
};
fetch('https://intentleads.si/api/v1/webhooks/{id}/test', 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}/test"
payload = { "event": "visitors" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"delivered": true,
"event": "visitors",
"status": 200,
"error": null,
"response": "ok",
"duration_ms": 182,
"webhook_id": "test_9c1d2e3f4a5b6c7d8e9f0a1b"
}{
"error": "invalid_event",
"message": "Unknown event: nope. Known: removals, visitors or webhook.test."
}{
"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.