# WebhookEventDetailDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

One webhook delivery in full, including the body the platform posted.

## Fields
- `id` (string(uuid)): The delivery's id, which is what the detail read takes.
- `eventType` (string): The event type that was delivered, for example `transaction.created`. (nullable)
- `eventId` (string): The envelope event id, which is what deduplicates a redelivery. (nullable)
- `occurredAtUtc` (string(date-time)): When the originating event happened, in UTC.
- `lastAttemptUtc` (string(date-time)): When the most recent attempt ran, in UTC, or `null` before the first. (nullable)
- `status` ([DeliveryStatus](https://devportal.demo.winkpg.io/docs/api/models/DeliveryStatus.md)): Where the delivery got to.
  Values:
  - `Pending`: Delivery work item created but not yet picked up by a processor.
  - `Processing`: Delivery is currently being processed (in-flight).
  - `Succeeded`: Delivery completed successfully. The destination acknowledged receipt.
  - `Failed`: Delivery failed but may be retried. Check AttemptCount and LastError for details.
  - `DeadLettered`: Delivery exhausted all retry attempts and has been moved to the dead letter queue. Requires manual investigation.
  - `Skipped`: Delivery was skipped (not attempted) due to kill switch, disabled destination, or other policy reason. Check SkipReason for details.
- `attemptCount` (integer(int32)): How many attempts have run.
- `durationMs` (integer(int64)): How long the most recent attempt took, or `null` when none has run. (nullable)
- `httpStatusCode` (integer(int32)): The status code the endpoint answered with, or `null` when it never answered. (nullable)
- `destinationName` (string): The merchant's own name for the destination the delivery was addressed to. (nullable)
- `relatedEntityType` (string): The kind of record the event was about, for example `Transaction`, or `null` when the  delivery carries no such reference. (nullable)
- `relatedEntityId` (string(uuid)): The id of the record `relatedEntityType` names, or `null` when the delivery  carries no such reference. (nullable)
- `httpStatusReason` (string): The reason phrase the endpoint sent back with its status code, when it sent one. (nullable)
- `destinationEndpoint` (string): The address the platform posted to. (nullable)
- `correlationId` (string): The platform correlation id, for a support conversation. (nullable)
- `eventPayloadJson` (string): The body the platform posted, byte for byte, when the platform can confirm it; otherwise  `null`, with `eventPayloadUnavailableReason` saying why. (nullable)
- `eventPayloadUnavailableReason` ([WebhookEventPayloadUnavailableReason](https://devportal.demo.winkpg.io/docs/api/models/WebhookEventPayloadUnavailableReason.md)): Why `eventPayloadJson` is withheld, or `null` whenever the body is present. (nullable)
  Values:
  - `TextTemplate`: The destination posts a body rendered from a custom text template, which the platform does not reproduce after delivery.
  - `RebuildMismatch`: The body rebuilt from the stored event does not match the body the platform recorded when it posted, most often because the destination's settings changed after the delivery.
  - `DestinationConfigurationUnreadable`: The destination's stored settings cannot be read, so the platform cannot tell which body it would have posted.

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
