---
title: "Get webhook"
method: GET
path: "/api/v2/webhooks/{id}"
tags: ["Webhook"]
---

# Get webhook

`GET /api/v2/webhooks/{id}`

Requires one of the following scopes: `webhooks:read`, `webhooks:all`, `all:read`, `all:all`

## Path parameters

- `id` string, uuid, required

## Response `200`

The requested Webhook

- Webhook — A webhook subscription for receiving event notifications
  - `id` string, uuid, required — Unique identifier for the webhook (UUID)
  - `organization` string, uuid, required — Organization (workspace) UUID that owns this webhook
  - `campaign` string, uuid, nullable — Optional campaign UUID to filter events (null = all campaigns in workspace)
  - `name` string, nullable — Optional user-defined name for the webhook
  - `target_hook_url` string, uri, required — Target URL to send webhook payloads
  - `event_type` 'all_events' | 'email_sent' | 'email_opened' | 'email_link_clicked' | 'reply_received' | 'email_bounced' | 'lead_unsubscribed' | 'campaign_completed' | 'account_error' | 'lead_neutral' | 'lead_interested' | 'lead_not_interested' | 'lead_meeting_booked' | 'lead_meeting_completed' | 'lead_closed' | 'lead_out_of_office' | 'lead_wrong_person' | 'lead_no_show' | 'supersearch_enrichment_completed', nullable — Type of event to trigger the webhook (null for custom label events). Set to "all_events" to subscribe to all events - including custom label events
  - `custom_interest_value` number, nullable — Custom interest value - corresponds to LeadLabel.interest_status (used for custom label events)
  - `headers` object, nullable — Optional HTTP headers to include when delivering webhook payloads (key-value pairs)
  - `timestamp_created` string, date-time, required — Timestamp when the webhook was created
  - `status` number, nullable — Webhook status: 1 = active, -1 = error (disabled due to delivery failures)
  - `timestamp_error` string, date-time, nullable — Timestamp when webhook was disabled due to delivery failures (null if active)

## Other responses

- `401` — This request is unauthorized (either the Authorization header is missing or invalid, or the API key has been revoked)
- `402` — This request cannot be fulfilled because the workspace does not have an active paid plan
- `404` — The requested resource was not found
- `429` — You have exceeded the rate limit. Please check the rate limit docs for more information.

---

[API](https://skmtc.net/instantly/apis/api-explorer.md) · [All operations](https://skmtc.net/instantly/apis/api-explorer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/instantly/api-explorer/revisions/378d1e253fe7/schema)
