# webhooks.deliveries.get Read a webhook delivery in the authenticated project environment. ## Import and client ```ts import { RelayServer } from '@relayrtc/node' const relay = new RelayServer({ apiUrl: process.env.RELAYRTC_API_URL!, apiKey: process.env.RELAYRTC_SECRET_KEY!, }) ``` ## Requirements A secret key with `webhooks:read`. The requested resource must belong to that key's project environment. ## Parameters | Option | Type | Default / requirement | Purpose | | --- | --- | --- | --- | | endpointId | string | Required | ID returned when creating the webhook. | | deliveryId | string | Required | ID of a delivery for this endpoint. | | projectId | string | Key project | Must match the key's project. | | environmentId | string | Key environment | Must match the key's environment. | Every method accepts [RequestOptions](/reference/sdk/server/node/request-options) as its final argument. Optional scope parameters go before RequestOptions. They cannot expand the key’s project or environment. ## Example ```ts const endpointId = 'webhook_example' const deliveryId = 'delivery_example' const result = await relay.webhooks.deliveries.get(endpointId, deliveryId) ``` ## Returns `Promise`. Returns delivery fields, the complete `event`, original `rawBody` and `attempts`. ## Behavior Treat logged event data as sensitive application data. `rawBody` is the full original event JSON; the abbreviated example illustrates the field only. ## REST equivalent [`GET /v1/webhooks/{endpointId}/deliveries/{deliveryId}`](/reference/api/v1/webhooks/deliveries/get). Failures throw [RelayApiError](/reference/sdk/server/node/RelayApiError).