---
title: "WebhookDeliveryAttempt"
description: "The `WebhookDeliveryAttempt` entity."
section: "Reference"
group: "Types"
order: 256
---

## Definition

```ts
interface WebhookDeliveryAttempt {
  id: string;
  workspaceId: string;
  deliveryId: string;
  attemptNumber: number;
  kind: "initial" | "auto_retry" | "manual_retry";
  url: string;
  statusCode: number | null;
  error: string | null;
  durationMs: number;
  responseHeaders: Record<string, string> | null;
  responseBodyPreview: string | null;
  startedAt: string;
  completedAt: string;
}
```

## Fields

| Field                 | Type                                          | Notes                                                                                             |
| --------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| `id`                  | `string`                                      | `readonly` `required`                                                                             |
| `workspaceId`         | `string`                                      | `required` — Workspace the parent delivery belongs to.                                            |
| `deliveryId`          | `string`                                      | `required` — Delivery this attempt belongs to.                                                    |
| `attemptNumber`       | `number`                                      | `required` — 1-indexed position in the delivery's attempt sequence.                               |
| `kind`                | `"initial" \| "auto_retry" \| "manual_retry"` | `required` — initial \| auto_retry \| manual_retry.                                               |
| `url`                 | `string`                                      | `required` — Exact URL POSTed to for this attempt — snapshot of subscription URL at attempt time. |
| `statusCode`          | `number \| null`                              | `required` — HTTP status code; null on network error or timeout.                                  |
| `error`               | `string \| null`                              | `required` — Network or timeout error message, if any.                                            |
| `durationMs`          | `number`                                      | `required` — Wall-clock duration of the attempt in milliseconds.                                  |
| `responseHeaders`     | `Record<string, string> \| null`              | `required` — Response headers; nulled out by retention after 7 days to reclaim space.             |
| `responseBodyPreview` | `string \| null`                              | `required` — First ~2KB of the response body; nulled out by retention after 7 days.               |
| `startedAt`           | `string`                                      | `required` — ISO-8601 timestamp when the request was initiated.                                   |
| `completedAt`         | `string`                                      | `required` — ISO-8601 timestamp when the response or error was observed.                          |
