> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fortary.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get webhook

<Info>
  **Pre-release** — contact your Fortary account team for access.
</Info>

<Warning>
  **Illustrative reference.** These examples show the shape of the API and are provided for early evaluation while it is still being finalized. Field names and response details may change before the API is released. A complete reference, generated directly from the live API, will replace these examples once it is available.
</Warning>

Retrieves a single webhook with its health counters. Requires the `webhook:read` scope.

## Request

```bash theme={null}
curl https://customer-api.fortary.io/v1/webhooks/whs_9b2f4e1a7c \
  -H "Authorization: Bearer fort_..."
```

## Response

```json theme={null}
{
  "id": "whs_9b2f4e1a7c",
  "entityIds": ["entity_7c1e4a0c2f"],
  "url": "https://example.com/fortary/webhooks",
  "notificationEmail": "ops@example.com",
  "eventKinds": ["transaction.confirmed", "transaction.failed"],
  "vaultIds": null,
  "status": "ENABLED",
  "disabledReason": null,
  "consecutiveExhaustedCount": 0,
  "lastDeliveredAt": "2026-06-10T14:23:07Z",
  "description": "Treasury reconciliation",
  "createdAt": "2026-05-02T09:12:44Z",
  "updatedAt": "2026-06-01T16:40:03Z"
}
```

* **`id`** — the webhook's opaque identifier (`whs_…`).
* **`entityIds`** — the entities whose events this webhook receives.
* **`url`** — the HTTPS endpoint deliveries are sent to.
* **`notificationEmail`** — recipient of operational notices (for example an [automatic disable](/api/reference/webhooks/delivery-and-retries#automatic-disabling)).
* **`eventKinds`** — the exact [event kinds](/api/reference/webhooks/event-types) delivered.
* **`vaultIds`** — vault allowlist for vault-scoped events; `null` means all vaults.
* **`status`** — `ENABLED` or `DISABLED`.
* **`disabledReason`** — `USER` or `AUTO_FAILURE` while disabled; `null` otherwise.
* **`consecutiveExhaustedCount`** — deliveries in a row that exhausted their retry budget; resets to `0` on any successful delivery.
* **`lastDeliveredAt`** — the most recent successful delivery, or `null`.
* **`description`** — the free-text label, or `null`.

The signing secret is never included — it is only returned at [creation](/api/reference/webhooks/create-webhook) and [rotation](/api/reference/webhooks/rotate-webhook-secret).

A webhook outside the credential's access returns `404`, not `403` — see [Authorization](/api/concepts/authorization).

Errors follow the standard [error envelope](/api/concepts/errors).
