# Read a webhook delivery Read a webhook delivery in the authenticated project environment. ## Requirements A secret API key with `webhooks:read`. Resources are restricted to the key's project and environment. ## Path parameters | Name | Type | Required / default | Description | | --- | --- | --- | --- | | endpointId | string | Required | ID returned when creating the webhook. | | deliveryId | string | Required | ID of a delivery for this endpoint. | ## Query parameters | Name | Type | Required / default | Description | | --- | --- | --- | --- | | projectId | string | Key project | Must match the key's project. | | environmentId | string | Key environment | Must match the key's environment. | ## Example Set `RELAYRTC_API_URL` to your API base including `/v1`, such as `http://localhost:8082/v1`. ```bash curl -X GET "$RELAYRTC_API_URL/webhooks/webhook_example/deliveries/delivery_example" \ -H "Authorization: Bearer $RELAYRTC_SECRET_KEY" ``` ## Response `200` with delivery fields, the complete `event`, original `rawBody` and `attempts`. ```json { "id": "delivery_example", "endpointId": "webhook_example", "eventId": "event_example", "projectId": "project_example", "environmentId": "environment_example", "url": "https://your-app.example/webhooks/relayrtc", "status": "pending", "attemptCount": 0, "runAttemptCount": 0, "replayCount": 0, "lastError": null, "nextAttemptAt": "2026-01-01T12:00:00.000Z", "deliveredAt": null, "runStartedAt": "2026-01-01T12:00:00.000Z", "createdAt": "2026-01-01T12:00:00.000Z", "updatedAt": "2026-01-01T12:00:00.000Z", "event": { "id": "event_example", "type": "room.ended", "projectId": "project_example", "environmentId": "environment_example", "occurredAt": "2026-01-01T12:00:00.000Z", "data": { "roomId": "room_example" } }, "rawBody": "{\"id\":\"event_example\",\"type\":\"room.ended\",\"projectId\":\"project_example\",\"environmentId\":\"environment_example\",\"occurredAt\":\"2026-01-01T12:00:00.000Z\",\"data\":{\"roomId\":\"room_example\"}}", "attempts": [] } ``` ## Notes Treat logged event data as sensitive application data. `rawBody` is the full original event JSON. See [event fields](/reference/api/v1/schemas/webhook-event). ## Errors Invalid fields return `400`. Invalid credentials return `401`; a missing scope returns `403`. A missing resource returns `404`. See [error responses](/reference/api/v1/errors).