Documentation
List webhook endpoints
GET
/v1/webhooksWebhooksThe account's endpoints, their state and every event they can take. Free holds 2; Pro holds 20 endpoints; past that, create answers 429 quota_exceeded (details.reason webhook_limit).
Example request
curl -s "https://snip.link/v1/webhooks" \ -H "Authorization: Bearer $SNIP_KEY"
Example response
{
"webhooks": [
{
"id": "5c2e7a10-3f4b-4d8e-9a61-2b7c0d4e8f13",
"url": "https://example.com/hooks/snip",
"description": "Orders service",
"events": [
"link.created",
"link.clicked"
],
"enabled": true,
"disabled_reason": null,
"disabled_at": null,
"failing_since": null,
"last_success_at": "2026-10-24T09:12:03.000Z",
"waiting": 0,
"created_at": "2026-10-20T12:00:00.000Z",
"updated_at": "2026-10-20T12:00:00.000Z"
}
],
"events": [
{
"name": "link.created"
}
]
}Response fields
| Field | Type | Description |
|---|---|---|
webhooks | Webhook[] | |
webhooks[].id | string | |
webhooks[].url | string | Where deliveries go: https, a public domain, the standard port. |
webhooks[].description | string, null | |
webhooks[].events | link.created | link.updated | link.deleted | link.clicked | link.failing | link.recovered | page.changed[] | |
webhooks[].enabled | boolean | False while paused, or after three days in which every delivery failed. |
webhooks[].disabled_reason | paused | failing | null | paused by the account, or failing: switched off after three days of failures. |
webhooks[].disabled_at | string, null | |
webhooks[].failing_since | string, null | When the current run of failed deliveries began; null while the last one worked. |
webhooks[].last_success_at | string, null | |
webhooks[].waiting | integer | Deliveries queued or waiting for a retry. |
webhooks[].created_at | string | |
webhooks[].updated_at | string | |
limit | integer | Endpoints the plan holds. |
events | object[] | |
events[].name | link.created | link.updated | link.deleted | link.clicked | link.failing | link.recovered | page.changed | |
events[].note | string |
Errors
| Status | Meaning |
|---|---|
| 401 | The API key is missing, malformed or revoked. |
| 429 | Either the key exceeded its requests-per-second limit (honor Retry-After), or a daily or plan quota is used up (details.reason). |