List Webhooks
GET /v1/webhooks
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
per_page | integer | 20 | Items per page (max 100) |
sort | string | created_at | Sort by: created_at, name, or enabled |
order | string | desc | Sort direction: asc or desc |
Response
{
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Error Notifications",
"description": "Notify Slack on 5xx errors",
"url": "https://hooks.slack.com/services/T00/B00/xxx",
"method": "POST",
"event_types": ["request.error", "request.timeout"],
"auth_type": "none",
"enabled": true,
"last_triggered_at": "2026-03-10T14:22:01.000Z",
"trigger_count": 142,
"success_count": 140,
"failure_count": 2,
"created_at": "2026-01-20T10:00:00.000Z"
}
],
"meta": {
"total": 5,
"page": 1,
"per_page": 20,
"total_pages": 1,
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
import { KnoxCall } from "@knoxcall/sdk";
const client = new KnoxCall(); // credentials from `knoxcall login` or KNOXCALL_CLIENT_ID / KNOXCALL_CLIENT_SECRET
const page = await client.webhooks.list({ page: 1, per_page: 20 });
const webhooks = page.data;
from knoxcall import KnoxCall
client = KnoxCall() # credentials from `knoxcall login` or KNOXCALL_CLIENT_ID / KNOXCALL_CLIENT_SECRET
page = client.webhooks.list(page=1, per_page=20)
webhooks = page["data"]
# Mint a 1-hour OAuth token (client_credentials) — see /api-reference/authentication
TOKEN=$(curl -s -X POST https://api.knoxcall.com/oauth/token \
-u "$KNOXCALL_CLIENT_ID:$KNOXCALL_CLIENT_SECRET" \
-d "grant_type=client_credentials" | jq -r .access_token)
curl https://api.knoxcall.com/v1/webhooks \
-H "Authorization: Bearer $TOKEN"
Errors
| Status | Type | Description |
|---|---|---|
| 403 | forbidden | The API key’s policy does not grant read on webhook |
| 500 | internal_error | Failed to list webhooks |